有没有python代码
for key in dict:
...
,dictdict数据类型在哪里,总是以固定的顺序迭代,并注意key?例如,假设dict={"aaa":1,"bbb",2},上面的代码是否总是先让key="aaa"然后key="bbb"(或以另一个固定的顺序)?顺序可能是随机的吗?我在 ubuntu 13 中使用 python 3.3,假设这个运行环境没有改变。谢谢你。
补充一点:多次运行时,变量dict保持不变,即生成一次,多次读取。
有没有python代码
for key in dict:
...
,dictdict数据类型在哪里,总是以固定的顺序迭代,并注意key?例如,假设dict={"aaa":1,"bbb",2},上面的代码是否总是先让key="aaa"然后key="bbb"(或以另一个固定的顺序)?顺序可能是随机的吗?我在 ubuntu 13 中使用 python 3.3,假设这个运行环境没有改变。谢谢你。
补充一点:多次运行时,变量dict保持不变,即生成一次,多次读取。
从本质上讲,字典没有存储键的顺序。所以你不能依赖订单。(即使环境相同,我也不会假设顺序不变)。
为数不多的可靠方法之一:
for key in sorted(yourDictionary.keys()):
# Use as key and yourDictionary[key]
编辑:回复您的评论:Python 不会以随机方式存储密钥。所有文档都说,你不应该依赖这个 order。这取决于实现如何对键进行排序。关于你的问题,我在这里要说的是:如果你依赖这个命令,你可能做错了什么。一般来说,你应该/根本不需要依赖这个。:-)
CPython implementation detail: Keys and values are listed in an arbitrary
order which is non-random, varies across Python implementations, and
depends on the dictionary’s history of insertions and deletions.
欲了解更多信息:http ://docs.python.org/2/library/stdtypes.html#dict.items
更重要的是,您可以使用collections.OrderedDict来固定订单。