1
Wie kann ich die folgende Dictionaries-in-Array-Struktur in ein Dictionary mit 'city': 'continent'
Struktur mit nur einer Zeile umwandeln?Array von Wörterbüchern in einer Zeile verketten
info = [
({'Amsterdam':10,'Berlin':20,'London':30},'Europe'),
({'Hongkong':10,'Beijng':20,'Manila':30},'Asia'),
({'Nairobi':10,'Cape Town':20,'Cairo':30},'Africa')
]
Dieser Code gibt mir die Antwort:
a = dict()
for t in info:
for i in t[0]:
a[i]=t[1]
{'Amsterdam': 'Europe',
'Beijng': 'Asia',
'Berlin': 'Europe',
'Cairo': 'Africa',
'Cape Town': 'Africa',
'Hongkong': 'Asia',
'London': 'Europe',
'Manila': 'Asia',
'Nairobi': 'Africa'}
Dies ist falsch:
a = {i:t[1] for i in t[0] for t in info}
Und einen weiteren Versuch, eine Reihe von Wörterbüchern verketten, versagt auch:
a = dict([{i:t[1] for i in t[0]} for t in info])
Welche Version von Python verwenden Sie? –
Ich benutze Python 3 (siehe das Tag) – API
Danke, aber Python 3 Punkt was? Der Grund, warum ich frage, ist, dass Python 3.5 eine neue Art hinzugefügt hat, Wörterbücher zu verbinden ('{** x, ** y}'). –