Python2和Python3字典/字典序的区别

在python2中,

# python2
d = dict(b=12, a=12)
print d.keys()

[‘a’, ‘b’]

在python3中,

# python3
d = dict(b=12, a=12)
print(d.keys())

dict_keys([‘b’, ‘a’])

可见python2, python3的字典keys的结果是不一样的。因此,避免使用字典的keys的顺序作为有序数组。虽然,如果你一直使用python2,代码似乎运行正确,但如果移植到python3,将造成结果错误,并难以排查。

如果必须使用字典,可以使用collections模块中的OrderDict。这能保证在python2, python3中一致性。

你可能感兴趣的:(Python)