字典的字典数组?
发布时间: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'} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |