在python中将字典列表转换为单个字典

Sle*_*y-Z -2 python dictionary tuples

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

[{'name': 'name', 'value': 'Zach'}, 
{'name': 'email', 'value': 'zach@gmail.com'}, 
{'name': 'age', 'value': '21'}]
Run Code Online (Sandbox Code Playgroud)

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

msg_dict = dict((k, v) for k, v in msg_ls)
print(msg_dict)
Run Code Online (Sandbox Code Playgroud)

这是打印

{'name': 'value'}
{'name': 'value'}
{'name': 'value'}
Run Code Online (Sandbox Code Playgroud)

虽然我需要它阅读

'name': Zach
'email': zach@gmail.com
'age': 21
Run Code Online (Sandbox Code Playgroud)

Pau*_*l H 5

请注意,这假设列表中的每个元素都是带有“名称”和“值”键的字典。还要注意字典通常是无序的(在最新版本的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
Run Code Online (Sandbox Code Playgroud)

给我:

{'age': '21', 'email': 'zach@gmail.com', 'name': 'Zach'}
Run Code Online (Sandbox Code Playgroud)