Chr*_*ung 2 python dictionary key python-2.7
假设我有这本词典:
mydict = {'1': ['a', 'b', 'c'],
'2': ['d', 'e', 'f'],
'3': ['g', 'h', 'i'],
'4': ['j', 'k', 'l'],
'5': ['m', 'n', 'o']}
Run Code Online (Sandbox Code Playgroud)
根据Python文档,
字典对象的keys()方法以任意顺序返回字典中使用的所有键的列表
当我调用mydict.keys()方法时,它会给我一个mydict没有任何特定顺序的键列表,如下所示:
['1','3','2','5','4']
我的问题是,.keys()每次调用方法生成的密钥列表(上面)都有相同的顺序吗?我尝试使用for循环这样:
for i in range(100):
print mydict.keys()
Run Code Online (Sandbox Code Playgroud)
在我看来,结果列表始终具有相同的顺序.但我只想确认没有隐藏的情况会改变输出列表的顺序.
换句话说,如果我使用mydict.keys()[0],我每次都会获得相同的项目吗?
使用词典时,不应该依赖于订购.即使你测试它10亿次并且它看起来是同质的,但规范中没有任何内容表明它是,因此可能有一些隐藏的代码说" 每个满月开始于平日,改变顺序 ".
如果你想依靠排序,然后使用OrderedDict从collections.