2016-03-13 197 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}