在最新的python版本中,dict保留插入顺序。平等方面是否有任何变化。例如,目前以下工作。由于插入顺序很重要,因此将来会改变吗?

我问是因为有根本的变化-以前==起作用是因为插入顺序并不重要,因为它被认为是无序的。现在,既然有序,平等的含义会改变吗?

d1={'a':1,'b':2}
d2={'b':2,'a':1}
print(d1==d2)
True

l1=['a','b']
l2=['b','a']
print(l1==l2)
False

最佳答案

Python's official documentation关于字典的==运算符陈述以下内容:


当且仅当映射具有相等(键,值)对时,映射(dict实例)才相等。键和值的相等比较可增强自反性。


因此,不考虑插入顺序,并且由于向后兼容,它可能永远不会出现,因为在几乎所有情况下它都没有意义或不直观。

08-28 15:15