反转字典中键值对的顺序(Python)[重复]

2023-12-27

在Python中如何反转字典的键值对的顺序?例如,我有这本字典:

{"a":1, "b":2, "c":3}

我想反转它,以便它返回:

{"c":3, "b":2, "a":1}

有没有我没听说过的功能可以做到这一点?有些代码行也很好。


字典没有任何顺序感,因此您的键/值对不以任何格式排序。

如果你想保留键的顺序,你应该使用collections.OrderedDict https://docs.python.org/2/library/collections.html#collections.OrderedDict从一开始,就不使用普通的字典,示例 -

>>> from collections import OrderedDict
>>> d = OrderedDict([('a',1),('b',2),('c',3)])
>>> d
OrderedDict([('a', 1), ('b', 2), ('c', 3)])

OrderedDict 将保留键输入字典的顺序。在上面的情况下,这将是键在列表中存在的顺序 -[('a',1),('b',2),('c',3)] - 'a' -> 'b' -> 'c'

然后你可以使用相反的顺序获得键reversed(d), 例子 -

>>> dreversed = OrderedDict()
>>> for k in reversed(d):
...     dreversed[k] = d[k]
...
>>> dreversed
OrderedDict([('c', 3), ('b', 2), ('a', 1)])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

反转字典中键值对的顺序(Python)[重复] 的相关文章

随机推荐