字典的字典数组?

前端之家收集整理的这篇文章主要介绍了字典的字典数组?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一系列字典看起来像这样:
[
  { 'country': 'UK','city': 'Manchester' },{ 'country': 'UK','city': 'Liverpool' },{ 'country': 'France','city': 'Paris' } ...
]

我想最终得到这样的字典:

{ 'Liverpool': 'UK','Manchester': 'UK',... }

显然我可以这样做:

d = {}
 for c in cities:
     d[c['city']] = c['country']

但有什么方法可以用单线图做到吗?

解决方法

您可以使用 dict comprehension
>>> li = [
...   { 'country': 'UK',...   { 'country': 'UK',...   { 'country': 'France','city': 'Paris' }
... ]

>>> {d['city']: d['country'] for d in li}
{'Paris': 'France','Liverpool': 'UK','Manchester': 'UK'}

或者我们operator.itemgetter和map函数

>>> dict(map(operator.itemgetter('city','country'),li))
{'Paris': 'France','Manchester': 'UK'}

猜你在找的Python相关文章