拆解字典内容
我想把一个字典里的内容拆分开来,把它的值和变量名对应起来,像这样:
params = {'a':1,'b':2}
a,b = params.values()
但是因为字典里的内容是没有顺序的,所以不能保证 params.values()
返回的值会按照 (a, b)
的顺序来。有没有什么好的方法可以做到这一点呢?
18 个回答
44
为什么没有人发最简单的方法呢?
params = {'a':1,'b':2}
a, b = params['a'], params['b']
284
from operator import itemgetter
params = {'a': 1, 'b': 2}
a, b = itemgetter('a', 'b')(params)
与其使用复杂的lambda函数或者字典推导,不如直接用一个内置的库。
11
如果你对使用局部字典时可能遇到的问题感到担心,并且更喜欢按照你最初的计划来做,那么从Python 2.7和3.1开始,Ordered Dictionaries(有序字典)可以帮助你按最初插入的顺序来获取字典里的项目。你可以查看collections.OrderedDicts的相关文档。