我有一本字典

{'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/获得反向移植

关于python - 字典中的键顺序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6083531/

10-15 14:32