【发布时间】:2010-10-06 06:47:25
【问题描述】:
这是我的字典
propertyList = {
"id": "int",
"name": "char(40)",
"team": "int",
"realOwner": "int",
"x": "int",
"y": "int",
"description": "char(255)",
"port": "bool",
"secret": "bool",
"dead": "bool",
"nomadic": "bool",
"population": "int",
"slaves": "int",
}
但是当我用 "\n".join(myDict) 打印出来时,我明白了
name
nomadic
dead
port
realOwner
secret
slaves
team
y
x
population
id
description
我知道字典是无序的,但每次输出都一样,我不知道为什么。
【问题讨论】:
-
无序意味着订单与您无关。这并不意味着顺序不一致。
-
@S.洛特:没错。这就是我在 CS 课程中学到的——“无序的集合总是有一定的顺序,无序意味着我们不应该依赖它”
-
但如果您对订单感兴趣,这不是您应该寻找的数据结构。字典是项目的无序集合。列表和元组保持顺序。
-
更精确:python 字典的顺序是任意的,但具有确定性(根据 python 规范)。确定性意味着它将始终以相同的方式运行。
-
现在我已经看到了这个问题,我建议如果您想保留顺序,您可以将每个字典键值对放在一个元组/列表中,这样它们将始终具有相同的顺序
标签: python dictionary