从How do I create a dictionary with keys from a list and values defaulting to (say) zero?构建 尤其是this answer:
如何使用列表中的键创建字典,并将值分隔为空列表?
(以后,我将能够追加元素)
答案 0 :(得分:12)
使用字典理解,
{item: [] for item in my_list}
您只需迭代列表并为每个键创建一个新列表。
或者,您可以考虑使用collections.defaultdict
,就像这样
from collections import defaultdict
d = defaultdict(list)
for item in my_list:
d[item].append(whatever_value)
这里,我们传递给defaultdict
的函数对象是主要的东西。如果字典中不存在该键,将调用它来获取值。
答案 1 :(得分:0)
这是简单易行的实现,它是自我解释,我们迭代列表中的所有元素,并在字典中为每个值创建一个唯一的条目,并用空列表初始化
sample_list = [2,5,4,6,7]
sample_dict = {}
for i in sample_list:
sample_dict[i] = []
答案 2 :(得分:-1)
通过常规方法:
>>> l = ["a", "b", "c"]
>>> d = {}
>>> for i in l:
... d[i] = []
...
>>> d
{'a': [], 'c': [], 'b': []}
>>>
使用collections
模块
>>> l = ["a", "b", "c"]
>>> import collections
>>> d = collections.defaultdict(list)
>>> for i in l:
... d[i]
...
[]
[]
[]
>>> d
defaultdict(<type 'list'>, {'a': [], 'c': [], 'b': []})