2011-06-29 153 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