これはOrderedDict冗長になることを意味しますか?私が考えることができる唯一の用途は、通常の辞書の挿入順序を保持しない古いバージョンのPythonとの下位互換性を維持することです。
これはOrderedDict冗長になることを意味しますか?私が考えることができる唯一の用途は、通常の辞書の挿入順序を保持しない古いバージョンのPythonとの下位互換性を維持することです。
回答:
いいえ、Python 3.7では冗長になることはありません。これは、が挿入順序を保持するOrderedDictだけでなくdict、順序に依存するメソッド、を提供し、反復OrderedDict.move_to_end()をサポートするためreversed()です*。
さらに、との等価性の比較OrderedDictは順序に依存しますがdict、Python 3.7の場合は、次のようになります。
>>> OrderedDict([(1,1), (2,2)]) == OrderedDict([(2,2), (1,1)]) 
False
>>> dict([(1,1), (2,2)]) == dict([(2,2), (1,1)]) 
True
*reversed()通常のPythonの反復のサポートがPython3.8にdict追加されました。issue33462を参照してください。