加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

字典的字典数组?

发布时间:2020-12-16 23:37:59 所属栏目:Python 来源:网络整理
导读:我有一系列字典看起来像这样: [ { 'country': 'UK','city': 'Manchester' },{ 'country': 'UK','city': 'Liverpool' },{ 'country': 'France','city': 'Paris' } ...] 我想最终得到这样的字典: { 'Liverpool': 'UK','Manchester': 'UK',... } 显然我可以这
我有一系列字典看起来像这样:
[
  { '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'}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读