一尘不染

字典中的键顺序

python

我有一本字典

{'a': 'first', 'b': 'second'}

但是,我需要字典的顺序不同:

{'b': 'second', 'a': 'first'}

做这个的最好方式是什么?


阅读 169

收藏
2021-01-20

共1个答案

一尘不染

字典 没有顺序 。因此,没有办法做到这一点。

如果您使用的是python2.7
+,则可以使用collections.OrderedDict-在这种情况下,您可以使用检索项目列表.items(),然后将其反向并OrderedDict从反向列表中创建一个新项:

>>> od = OrderedDict((('a', 'first'), ('b', 'second')))
>>> od
OrderedDict([('a', 'first'), ('b', 'second')])
>>> items = od.items()  # list(od.items()) in Python3
>>> items.reverse()
>>> OrderedDict(items)
OrderedDict([('b', 'second'), ('a', 'first')])

如果您使用的是旧版python,则可以从http://code.activestate.com/recipes/576693/获得反向移植

2021-01-20