Python字典中的键排序

我有一本字典

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

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

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

什么是最好的方法做到这一点?

字典没有排序。所以没有办法做到。

如果你有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/得到一个backport

http://stackoverflow.com/questions/6083531/order-of-keys-in-python-dictionary

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:Python字典中的键排序