【问题标题】:python map array of dictionaries to dictionary?python将字典数组映射到字典?
【发布时间】:2015-10-17 20:44:19
【问题描述】:

我有一个字典数组,看起来像这样:

[
  { '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']

但是我有什么办法可以用单线地图做到这一点?

【问题讨论】:

    标签: python python-3.x python-2.7 dictionary mapping


    【解决方案1】:

    您可以使用dict comprehension

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

    或者我们operator.itemgettermap函数:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-01-01
      • 1970-01-01
      • 2016-03-05
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多