假设我有这本字典:
mydict = {'1': ['a', 'b', 'c'],
'2': ['d', 'e', 'f'],
'3': ['g', 'h', 'i'],
'4': ['j', 'k', 'l'],
'5': ['m', 'n', 'o']}
根据 Python 文档,
The keys() method of a dictionary object returns a list of all the keys used in the dictionary, in arbitrary order
当我调用 mydict.keys()
方法时,它会给我一个 mydict
中的键列表,没有任何特定的顺序,如下所示:
['1', '3', '2', '5', '4']
我的问题是 .keys()
方法生成的键列表(上面)在我每次调用它时是否具有相同的顺序?我试过像这样使用 for 循环:
for i in range(100):
print mydict.keys()
在我看来,结果列表总是具有相同的顺序。但我只是想确认没有隐藏的情况会改变输出列表的顺序。
换句话说,如果我使用 mydict.keys()[0]
,我每次都会得到相同的项目吗?
最佳答案
在使用字典时,你不应该依赖于排序。即使您对其进行了 10 亿次测试并且它看起来 是同质的,但规范中没有任何内容表明它是同质的,因此可能会有一些隐藏的代码说“每个满月开始在偶数日,更改顺序”。
如果你想依赖排序,那么使用OrderedDict
from collections
.
关于python - 我可以可靠地使用 python 字典键方法生成的列表索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23531421/