python - 为什么字典元组不尊重构造顺序?
问题描述
因此,我使用以下代码在 python 中构造了一个字典(带有元组):
d = { (x , x + 1) : x for x in range(0 , 10)}
print(d)
我最终打印{(0, 1): 0, (1, 2): 1, (6, 7): 6, (5, 6): 5, (7, 8): 7, (8, 9): 8, (4, 5): 4, (2, 3): 2, (9, 10): 9, (3, 4): 3}
我的问题是:为什么它不尊重特定的顺序,即我用来构建字典的顺序?
解决方案
如果您的python 版本 < 3.6,您可以使用collections.OrderedDict来保持插入顺序:
from collections import OrderedDict
d = OrderedDict(((x , x + 1), x) for x in range(0 , 10))
d
输出:
OrderedDict([((0, 1), 0),
((1, 2), 1),
((2, 3), 2),
((3, 4), 3),
((4, 5), 4),
((5, 6), 5),
((6, 7), 6),
((7, 8), 7),
((8, 9), 8),
((9, 10), 9)])
推荐阅读
- php - php如何按id分组
- c# - Outlook 在使用自定义插件时开始冻结
- azure-devops - 在 Azure Devops 中构建管道时,在 VS2017 中为 .net core2.1 管理从 beta 到发布的 nuget 版本
- haskell - 声明组在上下文单态限制中是什么意思?
- reactjs - 在按钮 React chartjs 上重新绘制图表
- go - 使用 Golang 使用 Socket.io 流式传输音频
- c++ - && 运算符的交换属性问题
- javascript - 在将 HTML 模板克隆引用添加到 DOM 之前,在 Javascript 中保存它
- node.js - 仅对我的授权客户端应用程序限制 API 访问
- c# - 我计算的财政年度月份的下拉列表