从2元组列表创建字典

时间:2011-05-20 13:18:00

标签: python dictionary reduce

我有一个像这样的2元组列表:

l = [('a', 1), ('b', 2)]

我希望能够将它映射到字典对象上,以便我可以做类似

的操作
l.a #=> 1

所以我试过这个,但为什么会失败?

d = reduce(lambda y,x : y.update({x[0]:x[1]}),l,{})

这给出了错误:

  

AttributeError:'NoneType'对象有   没有属性'update'

我做错了什么?

2 个答案:

答案 0 :(得分:21)

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

答案 1 :(得分:4)

为什么不这样做:

d = dict(l)

另外,为了回答你的问题,你的解决方案失败了,因为y(这是一个2元组)没有方法更新,因为它不是dict。值得庆幸的是,你正在做的是建立在。