假设我有一本字典:
d = {3: 'three', 2: 'two', 1: 'one'}我想重新排列这个字典的顺序,这样字典就是:
d = {1: 'one', 2: 'two', 3: 'three'}我在考虑类似于列表的reverse()函数,但这并不起作用。提前感谢你的回答!
发布于 2019-04-30 07:00:32
从Python 3.8及更高版本开始,items视图是可反向迭代的,因此您可以这样做:
d = dict(reversed(d.items()))在3.7和3.6中,他们还没有在dict和dict视图(issue33462: reversible dict)上实现__reversed__,所以使用中间的list或tuple,它们确实支持反向迭代:
d = {3: 'three', 2: 'two', 1: 'one'}
d = dict(reversed(list(d.items())))Pre-3.6,you'd need collections.OrderedDict (输入和输出)以达到预期的结果。在Python3.6(作为实现细节)和CPython 3.7 (作为语言保证)之前,普通的dicts没有保留任何顺序。
https://stackoverflow.com/questions/55911745
复制相似问题