Предполагая, что ваш список границ представлен следующим образом:
ls = [ ['Source', 'Target', 'Weight'],
['A', 'B', 12],
['A', 'C', 14],
['A', 'D', 56],
['B', 'C', 17],
['B', 'F', 14],
['B', 'G', 10]
]
Вы можете сознательно построить график следующим образом:
graph = {}
for connection in ls[1:]:
source, sink, weight = connection[0], connection[1], connection[2]
if source not in graph:
graph[source] = {}
if sink not in graph[source]:
graph[source][sink] = {}
graph[source][sink]['weight'] = weight
напечатанный график:
{
"A": {
"B": {
"weight": 12
},
"C": {
"weight": 14
},
"D": {
"weight": 56
}
},
"B": {
"C": {
"weight": 17
},
"F": {
"weight": 14
},
"G": {
"weight": 10
}
}
}