Creating a Dictionary from a List of 2-Tuples

隐身守侯 提交于 2019-11-30 05:33:00

问题


I have a list of 2-tuples like this:

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

and I want to be able to map this onto a dictionary object, so that I can do something like

l.a #=> 1

So I tried this, but why does it fail?

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

This gives the error:

AttributeError: 'NoneType' object has no attribute 'update'

What am I doing wrong?


回答1:


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



回答2:


Why not just do this:

d = dict(l)

Also, to answer your question, your solution is failing because y (which is a 2-tuple) has no method update, since it's not a dict. Thankfully, what you're doing is built right in.



来源:https://stackoverflow.com/questions/6072470/creating-a-dictionary-from-a-list-of-2-tuples

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!