如何将列表转换为1项字典列表

Cha*_*dan -3 python list

我有一个清单

a=[('policy', 871),
 ('insurance', 382),
 ('life', 357),
 ('request', 270),
 ('call', 260)]
Run Code Online (Sandbox Code Playgroud)

现在,我想将其转换为一个项目的列表dict:

[{'call': 260},{'insurance': 382},{'life': 357}, {'policy': 871}, {'request': 270}]
Run Code Online (Sandbox Code Playgroud)

Sel*_*cuk 6

您只需将其转换为dict,即可将元组列表转换为dict:

>>> a = [('policy', 871), ('insurance', 382), ('life', 357), ('request', 270), ('call', 260)]
>>> dict(a)
Run Code Online (Sandbox Code Playgroud)

会导致

{'policy': 871, 'call': 260, 'life': 357, 'request': 270, 'insurance': 382}
Run Code Online (Sandbox Code Playgroud)

如果你想把它作为一个json字符串,试试这个:

>>> import json
>>> json.dumps(dict(a))
Run Code Online (Sandbox Code Playgroud)

这次它会打印一个json格式的字符串而不是一个dict(注意括号引号):

'{"policy": 871, "call": 260, "life": 357, "request": 270, "insurance": 382}'
Run Code Online (Sandbox Code Playgroud)

更新:如果你需要listdict!而非,请尝试以下方法:

>>> map(lambda x: {x[0]: x[1]}, a)
[{'policy': 871}, {'insurance': 382}, {'life': 357}, {'request': 270}, {'call': 260}]
Run Code Online (Sandbox Code Playgroud)