拆解字典内容

167 投票
18 回答
113135 浏览
提问于 2025-04-15 23:26

我想把一个字典里的内容拆分开来,把它的值和变量名对应起来,像这样:

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的相关文档。

撰写回答