2017-04-16 1 views
0

Ich habe diesen Eingang:Liste im Wörterbuch zu einer Liste Knoten zu repräsentieren und Kanten

data = {'A': [('B', 7), ('D', 5)], 
    'B': [('C', 8), ('D', 9), ('E', 7)], 
    'C': [('E', 5)], 'D': [('E', 15), ('F', 6)] 
    'E':[('F', 8), ('G', 9)], 
    'F':[('G', 11)] 
} 

Und ich versuche es zu konvertieren:

[ ("A", "B", 7), ("A", "D", 5), 
    ("B", "C", 8), ("B", "D", 9), ("B", "E", 7), 
    ("C", "E", 5), 
    ("D", "E", 15), ("D", "F", 6), 
    ("E", "F", 8), ("E", "G", 9), 
    ("F", "G", 11)] 

Ich kann nicht scheinen zu lassen es funktioniert genau so.

Danke.

+0

'[(k,) + e für k, v in data.items() für e in v]' – AChampion

Antwort

0

Sie können die dict iterieren und den Schlüssel zu dem Tupel hinzufügen, indem Sie mit ('A',)+('B', 7)

>>> [(k,)+i for k,v in data.items() for i in v] 
[('A', 'B', 7), ('A', 'D', 5), ('C', 'E', 5), ('B', 'C', 8), ('B', 'D', 9), ('B', 'E', 7), ('E', 'F', 8), ('E', 'G', 9), ('D', 'E', 15), ('D', 'F', 6), ('F', 'G', 11)] 
Verwandte Themen