fin*_*ego 5 python dictionary reversing python-2.7
在Python中,如何反转字典键值对的顺序?例如,我有这本词典:
{"a":1, "b":2, "c":3}
Run Code Online (Sandbox Code Playgroud)
我想反转它,以便它返回:
{"c":3, "b":2, "a":1}
Run Code Online (Sandbox Code Playgroud)
是否有一个我没有听说过的功能可以做到这一点?一些代码行也很好.
字典没有任何顺序感,因此您的键/值对不以任何格式排序.
如果要保留键的顺序,则应collections.OrderedDict从头开始使用,而不是使用普通字典,示例 -
>>> from collections import OrderedDict
>>> d = OrderedDict([('a',1),('b',2),('c',3)])
>>> d
OrderedDict([('a', 1), ('b', 2), ('c', 3)])
Run Code Online (Sandbox Code Playgroud)
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)])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3104 次 |
| 最近记录: |