最新のpythonバージョンはdictの挿入順序を保持しているので、等価(==)の意味は変わりますか?


8

最新の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

4
いいえ、この意味は変わりません。
L3viathan

回答:


2

Pythonの公式ドキュメントには、辞書に関する==演算子について次のように記載されています。

マッピング(dictのインスタンス)は、それらが等しい(キー、値)ペアを持っている場合に限り、等しいと比較します。キーと値の等価比較により、反射性が強化されます。

そのため、挿入順序は考慮されません。また、ほとんどの場合、下位互換性があるため、おそらく意味がないか、直感的でないため、挿入順序はおそらくありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.