Pok*_*u48 3 python sorting reverse dictionary python-3.x
假设我有一本字典:
d = {3: 'three', 2: 'two', 1: 'one'}
Run Code Online (Sandbox Code Playgroud)
我想重新排列此字典的顺序,以便该字典为:
d = {1: 'one', 2: 'two', 3: 'three'}
Run Code Online (Sandbox Code Playgroud)
我在想类似reverse()
列表功能的东西,但是没有用。预先感谢您的回答!
从CPython 3.6(作为实现细节)和Python 3.7(作为语言保证)开始,plain dict
确实具有顺序。
在3.7和更低的,他们没有得到周围配套__reversed__
上dict
和dict
看法,所以你必须对项目进行转换list
(或者tuple
,它并不真正的问题),并迭代它是反向:
d = {3: 'three', 2: 'two', 1: 'one'}
d = dict(reversed(list(d.items())))
Run Code Online (Sandbox Code Playgroud)
当3.8版本发布时,items视图将以相反的方式在本地进行迭代,因此您可以执行以下操作:
d = dict(reversed(d.items()))
Run Code Online (Sandbox Code Playgroud)
list
根本不需要临时。
在3.6之前的版本中,您需要collections.OrderedDict
(用于输入和输出)才能获得所需的结果。
归档时间: |
|
查看次数: |
137 次 |
最近记录: |