2011-07-07 132 views
0

我需要從數組中填充字典。我已經完成了三條線,我試圖儘可能最短。有辦法如何在單行中填充它?Oneline Python中的字典數組字典

a = [['test',154],['test2',256]] 
d = dict() 
for b in a: 
    d[b[0]] = b[1] 

回答

13

僅有dict :)

>>> a = [['test',154],['test2',256]] 
>>> dict(a) 
{'test': 154, 'test2': 256} 
4

你只是做詞典(a)或dict([['test',154],['test2',256]])。

+0

哇,這很容易 – kravemir

-1

L = [[ '測試',154],[ 'TEST2',256]]

在Python 3.x的:

d = {k:v for k,v in L} 

在Python 2.x中:

d = dict([(k,v) for k,v in L]) 
+0

爲什麼這不好? – kravemir

+0

與其他人相比,這是一個糟糕的解決方案(第二個只是將單個列表更改爲元組,這是不必要的)。另外,*在這兩種情況下都是語法錯誤(只是放下它們)。字典理解也用':',而不是','分隔元素。 –

+0

@Steve:你說得對。我修復了這些錯誤 – inspectorG4dget