问题描述
你好,我是python的新手。
我正在使用python中的列表,我想将{{1}中名为 graph 的list
转换为dictionnary
graph }。
我有PYTHON
:
list
我希望列表成为这样的字典:
graph = [
['01 Mai',[
['Musset',5],['Place 11 Decembre 1960',4],["Sidi M'hamed",3],['El Hamma (haut)',6]
]
],['Musset',[
['Place 11 Decembre 1960',6],["Jardin d'Essai (haut)",10]
],]
]
解决方法
一个简单的字典理解就可以了:
1875/1875 [==============================] - 4s 2ms/step - loss: 0.6965 - accuracy: 0.8142 - val_loss: 0.3279 - val_accuracy: 0.9128
313/313 - 0s - loss: 0.3279 - accuracy: 0.9128
4.709409705000326
,
您可以使用递归来处理未知深度的输入:
graph = [['01 Mai',[['Musset',5],['Place 11 Decembre 1960',4],["Sidi M'hamed",3],['El Hamma (haut)',6]]],['Musset',[['Place 11 Decembre 1960',6],["Jardin d'Essai (haut)",10]]]]
def to_dict(d):
return {a:b if not isinstance(b,list) else to_dict(b) for a,b in d}
print(to_dict(graph))
输出:
{'01 Mai': {'Musset': 5,'Place 11 Decembre 1960': 4,"Sidi M'hamed": 3,'El Hamma (haut)': 6},'Musset': {'Place 11 Decembre 1960': 4,'El Hamma (haut)': 6,"Jardin d'Essai (haut)": 10}}
,
一个简单的解决方案是:
for item in graph:
d[item[0]] = {record[0]: record[1] for record in item[1]}