【问题标题】:Converting a list of dictionaries to a single dictionary in python在python中将字典列表转换为单个字典
【发布时间】:2017-11-07 19:13:08
【问题描述】:

我有一个元组值列表,格式如下:

[{'name': 'name', 'value': 'Zach'}, 
{'name': 'email', 'value': 'zach@gmail.com'}, 
{'name': 'age', 'value': '21'}]

我正在尝试使用正确的键/值排列字典对象。这是我到目前为止能够想出的代码:

msg_dict = dict((k, v) for k, v in msg_ls)
print(msg_dict)

这是打印

{'name': 'value'}
{'name': 'value'}
{'name': 'value'}

虽然我需要它阅读

'name': Zach
'email': zach@gmail.com
'age': 21

【问题讨论】:

  • 那些不是元组。
  • {y['name'] : y['value'] for y in x}
  • @cᴏʟᴅsᴘᴇᴇᴅ 或强制功能dict(map(itemgetter('name', 'value'), data)) ;)
  • @miradulo 我相信发布答案的时间已经过去了:-(

标签: python dictionary tuples


【解决方案1】:

请注意,这假定列表中的每个元素都是带有“name”和“value”键的字典。另请注意,字典通常是无序的(在最新版本的 python 中不再是这种情况,但大多数安装的版本都不是最新版本)。

data = [
    {'name': 'name', 'value': 'Zach'}, 
    {'name': 'email', 'value': 'zach@gmail.com'}, 
    {'name': 'age', 'value': '21'}
]

new_dict = {x['name']: x['value'] for x in data}

new_dict

给我:

{'age': '21', 'email': 'zach@gmail.com', 'name': 'Zach'}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-23
    • 1970-01-01
    • 2014-07-28
    • 2016-09-14
    • 2019-02-10
    • 2018-08-21
    相关资源
    最近更新 更多