【发布时间】:2021-06-02 19:04:54
【问题描述】:
我正在尝试使用 Python 2.7 中的字典理解来构建字典。我想使用具有开始和停止值以及步长的 range() 函数作为循环变量。代码如下:
{ i: i*2 for i in range(0, 50, 5) }
当我在我的 REPL 中运行它时,我得到以下输出:
{0: 0, 35: 70, 5: 10, 40: 80, 10: 20, 45: 90, 15: 30, 20: 40, 25: 50, 30: 60}
如您所见,这些值并非按预期升序排列。
谁能告诉我我做错了什么?非常感谢您的帮助!
【问题讨论】:
-
欢迎来到 SO!字典在 2.7 中没有排序。升级到 3.6 或使用
collections.OrderedDict。 -
为什么要关心订单?键和值是字典中的重要内容。
-
同意评论员的观点,但主要问题是你为什么使用 python 2.7?
-
@BrownBear 某些环境受到限制,例如为旧版军事软件添加功能
-
也许您应该发布您要解决的实际问题的代码,因为这听起来像是XY problem。
标签: python python-2.7 dictionary