将具有多个值的键映射到python中的json

时间:2014-10-19 04:58:51

标签: python json list dictionary

我正在尝试使用一个具有多个值的键将字典映射到python中。这就是我得到的。

import json

list =['abe','matt','roscoe']
key="name"
nodes={}
nodes.setdefault(key,list)
['abe', 'matt', 'roscoe']

json_nodes =json.dumps(nodes)
json_nodes
'{"name": ["abe", "matt", "roscoe"]}'

但是我希望有一个类似于此的json文件 [  {         “名字”:“abe”     },     {         “名字”:“亚光”     },     {         “名字”:“roscoe”     } ]

任何建议都将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:3)

您有一个名单列表,例如

>>> names = ['abe', 'matt', 'roscoe']

您只需要迭代名称,并在每次迭代时创建一个新字典以获取字典列表,例如

>>> json.dumps([{"name": name} for name in names])
[{"name": "abe"}, {"name": "matt"}, {"name": "roscoe"}]

下面,

[{"name": name} for name in names]

称为列表理解。生成新列表是一种方便的技术。在我们的示例中,我们使用names迭代for name in names。在每次迭代中,name将具有与迭代相对应的当前名称,并且我们使用{"name": name}创建新字典。