意外的发现以下的代码竟然是按照顺序输出的:
d = dict()
d['z'] = 1
d['b'] = 2
d['c'] = 3
d['d'] = 4
for k in d:
print(k)
输出:z b c d
在记忆里python的字典是无序的,但是这个结果是有序的,查了一下发现在python 3.6 版本之前都是无序的,但是之后都变成有序的了。
之前的版本会输出:c z b d
仍然需要用到 collections.OrderedDict 才能使字典有序:
from collections import OrderedDict
d = OrderedDict()
d['z'] = 1
d['b'] = 2
d['c'] = 3
d['d'] = 4
for k in d:
print(k)
这样输出:z b c d 与输入顺序一致。