Como a versão mais recente do python mantém a ordem de inserção do dict, o significado da igualdade (==) será alterado?

8

Na versão mais recente do python, o dict mantém a ordem de inserção. Existe alguma mudança em termos de igualdade. Por exemplo, atualmente o abaixo funciona. Como o pedido de inserção será importante, isso pode mudar no futuro?

Estou perguntando porque há uma mudança fundamental - anteriormente == funcionou porque o pedido de inserção não era importante, pois era considerado não ordenado. Agora, uma vez ordenado, o significado da igualdade pode mudar?

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

l1=['a','b']
l2=['b','a']
print(l1==l2)
False
variável
fonte
4
Não, esse significado não vai mudar.
L3viathan

Respostas:

2

A documentação oficial do Python afirma o seguinte sobre o operador == em relação aos dicionários:

Os mapeamentos (instâncias do dict) comparam igual se e somente se eles tiverem pares iguais (chave, valor). A comparação da igualdade das chaves e valores impõe reflexividade.

Portanto, o pedido de inserção não é considerado e, devido à compatibilidade com versões anteriores, provavelmente nunca será, pois provavelmente não faria sentido ou não seria intuitivo em quase todos os casos.

averresen
fonte