2016-03-13 202 views
0

我想将我的列表转换为Python中的字典。我有列表L将python列表转换为字典

l = ['a', 'b', 'c', 'd'] 

,我想将其转换为字典d

d['a'] = [] 
d['b'] = [] 
d['c'] = [] 
d['d'] = [] 

我试图

for i in range(0, len(l)): 
    d[i][0]=l(i) 

但不起作用。谢谢

+0

这不起作用,错误消息'类型错误:“名单”对象不是callable'本来是一个很好的起点。 – Jasper

回答

4

保持简单一点,你想循环遍历你的列表,然后将你的迭代器i(它将成为列表中的每个值)作为每个字典条目的关键字。

l = ['a', 'b', 'c', 'd'] 

d = {} 
for i in l: 
    d[i] = [] 


print(d) # {'a': [], 'c': [], 'b': [], 'd': []} 

通过以上了解,你现在可以实际简化了这一条线为:

{k: [] for k in l} 

上述被称为字典的理解。你可以阅读它here

+2

请勿使用'.fromkeys()'。这给你* n *引用同一个列表。 –

+0

@TimPietzcker谢谢。删除 – idjaw

2

你应该这样做。

li = ['a', 'b', 'c', 'd'] 

my_d = {letter:[] for letter in li}