2011-06-29 51 views
47

這裏是我當前如何轉換元組的列表在Python詞典:列表元組到字典

l = [('a',1),('b',2)] 
h = {} 
[h.update({k:v}) for k,v in l] 
> [None, None] 
h 
> {'a': 1, 'b': 2} 

有沒有更好的辦法?似乎應該有一個班輪來做到這一點。

回答

80

(注: 「哈希」 被稱爲Python中的 「字典」。)

>>> my_list = [('a', 1), ('b', 2)] 
>>> dict(my_list) 
{'a': 1, 'b': 2} 
+0

Derp,我知道會有一個簡單的方法來做到這一點......來自Ruby的這裏,試圖學習Python的做事方式。謝謝! –

15

dict構造函數接受輸入的完全一樣,你把它(鍵/值元組)。

>>> l = [('a',1),('b',2)] 
>>> d = dict(l) 
>>> d 
{'a': 1, 'b': 2} 

documentation

例如,這些都返回一個 字典等於{ 「一」:1, 「2」: 2}:

dict(one=1, two=2) 
dict({'one': 1, 'two': 2}) 
dict(zip(('one', 'two'), (1, 2))) 
dict([['two', 2], ['one', 1]]) 
5

With dict comprehension:

h = {k:v for k,v in l} 
+0

不錯,因爲它允許您在將鍵/值添加到字典之前對其進行格式設置 – jfunk