将具有多个值的字典映射为JSON格式的Python代码

3 投票
1 回答
6746 浏览
提问于 2025-04-28 08:47

我正在尝试把一个字典(也就是键值对的集合)映射到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文件:

[ { "name": "abe" }, { "name": "matt" }, { "name": "roscoe" } ]

如果有任何建议,我会非常感激。提前谢谢大家!

暂无标签

1 个回答

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]

被称为 列表推导。这是一种方便的技巧,用来生成新的列表。在我们的例子中,我们用 for name in names 来遍历 names。在每次遍历时,name 会对应当前的名字,然后我们用 {"name": name} 创建一个新的字典。

撰写回答