1
Aşağıdaki sözlükleri dizili yapıyı, bir satırda 'city': 'continent'
yapılı bir sözlüğe nasıl dönüştürebilirim?Bir satırdaki sözlükler dizisini birleştirin
info = [
({'Amsterdam':10,'Berlin':20,'London':30},'Europe'),
({'Hongkong':10,'Beijng':20,'Manila':30},'Asia'),
({'Nairobi':10,'Cape Town':20,'Cairo':30},'Africa')
]
Bu kod bana cevap verir:
a = {i:t[1] for i in t[0] for t in info}
Ve başka bir girişimde, sözlükler dizisini bitiştirmek için de başarısız:
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'}
Bu yanlıştır
a = dict([{i:t[1] for i in t[0]} for t in info])
Hangi versiyonda Python kullanıyorsunuz? –
Python 3 kullanıyorum (etikete bakın) – API
Teşekkürler, ama Python 3 ne anlama geliyor? Sormamın nedeni, Python 3.5'ın yeni bir sözlük ekleme yöntemi eklediğidir ('{** x, ** y}'). –