Python 3.x 将字典数组连接在一行中

Python 3.x 将字典数组连接在一行中,python-3.x,Python 3.x,如何将数组结构中的以下词典转换为仅包含一行的带有'city':“continent'结构的词典 info = [ ({'Amsterdam':10,'Berlin':20,'London':30},'Europe'), ({'Hongkong':10,'Beijng':20,'Manila':30},'Asia'), ({'Nairobi':10,'Cape Town':20,'Cairo':30},'Africa') ] 这段代码给了我答案: a = dict() f

如何将数组结构中的以下词典转换为仅包含一行的带有
'city':“continent'
结构的词典

info = [
    ({'Amsterdam':10,'Berlin':20,'London':30},'Europe'),
    ({'Hongkong':10,'Beijng':20,'Manila':30},'Asia'),
    ({'Nairobi':10,'Cape Town':20,'Cairo':30},'Africa')
]
这段代码给了我答案:

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'}
这是不正确的:

a = {i:t[1] for i in t[0] for t in info}
另一种连接字典数组的尝试也失败了:

a = dict([{i:t[1] for i in t[0]} for t in info])
试试这个(在3.5上测试):


您使用的是什么版本的Python?我使用的是Python3(见标签)谢谢,但Python3的要点是什么?我问这个问题的原因是Python3.5添加了一种新的加入字典的方式(
{**x,**y}
),我也会接受3.5的答案,因为我总有一天要更新
a = {i: y for x, y in info for i in x}