如何使用列表中的键创建字典,并将值分隔为空列表?

时间:2015-01-28 14:03:13

标签: python list dictionary

How do I create a dictionary with keys from a list and values defaulting to (say) zero?构建 尤其是this answer

如何使用列表中的键创建字典,并将值分隔为空列表?
(以后,我将能够追加元素)

3 个答案:

答案 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': []})