Wil*_*Ayd 0 python dictionary list python-3.x
我正在使用一个字典列表,并尝试将它们组合成一个具有以下条件:
所以我真正要做的是为多个字典中的给定键创建一个集合,并为新字典中的值创建该集合的逗号分隔字符串.为了帮助可视化,给出:
data = [ {"key1": "value1", "key2": "value2", "key3": "value3"},
{"key1": "value4", "key2": "value5", "key3": "value3"},
{"key1": "value1", "key2": "value8", "key3": "value3"} ]
Run Code Online (Sandbox Code Playgroud)
我想用以下数据创建一个新的字典:
myDict = {"key1": "value1, value4", "key2": "value2, value5, value8", "key3": "value3"}
Run Code Online (Sandbox Code Playgroud)
有关如何实现这一目标的任何想法?
collections.defaultdict 是你的朋友.
from collections import defaultdict
temp_dict = defaultdict(set)
for item in data:
for key, value in item.items():
temp_dict[key].add(value)
Run Code Online (Sandbox Code Playgroud)
这会给你一个表单中的字典{"key1": ["value1", "value4"]}- 如果你想要值的实际逗号分隔字符串,那么你可以加入它们:
my_dict = {}
for key, value in temp_dict.items():
my_dict[key] = ", ".join(value)
Run Code Online (Sandbox Code Playgroud)