【发布时间】:2020-12-13 23:42:56
【问题描述】:
我很难理解字典。
我有一个字典列表,其中每个字典包含具有不同值的相同键:
list_of_dictionaries = [{k1:v1, k2:v2}{k1:v3, k2:v4}{k1:v5, k2:v6}, ...]
我想要一个列表字典,其中每个键都有一个值,该值是在字典列表中该键下找到的那些值的列表:
dictionary_of_lists = {k1:[v1,v3,v5], k2:[v2,v4,v6], ...}
目前,我正在通过手动输入键并使用列表推导来获取值来创建这个单一的综合字典:
dictionary_of_lists = {
k1:[i[k1] for i in list_of_dictionaries],
k2:[i[k2] for i in list_of_dictionaries],
...
}
只有几个键还不错,但超过 20 个键看起来很乱,重复的代码。我正在努力制定一个可以达到相同结果的字典理解。类似于“对于此列表中的每个字典,将与每个键对应的值添加到由另一个字典中的相同键表示的列表中”?我尝试了 dict.update() 方法,它不允许我将值添加到列表中 - 它会擦除并“更新”已经存在的值。
【问题讨论】:
标签: python python-3.x dictionary-comprehension