首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python反向字典项顺序

Python反向字典项顺序
EN

Stack Overflow用户
提问于 2019-04-30 06:46:55
回答 3查看 639关注 0票数 5

假设我有一本字典:

代码语言:javascript
复制
d = {3: 'three', 2: 'two', 1: 'one'}

我想重新排列这个字典的顺序,这样字典就是:

代码语言:javascript
复制
d = {1: 'one', 2: 'two', 3: 'three'}

我在考虑类似于列表的reverse()函数,但这并不起作用。提前感谢你的回答!

EN

Stack Overflow用户

回答已采纳

发布于 2019-04-30 07:00:32

从Python 3.8及更高版本开始,items视图是可反向迭代的,因此您可以这样做:

代码语言:javascript
复制
d = dict(reversed(d.items()))

在3.7和3.6中,他们还没有在dictdict视图(issue33462: reversible dict)上实现__reversed__,所以使用中间的listtuple,它们确实支持反向迭代:

代码语言:javascript
复制
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没有保留任何顺序。

票数 12
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55911745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档