Dari log perubahan Python 3.7 :
sifat pelestarian urutan penyisipan dari objek dict telah dinyatakan sebagai bagian resmi dari spesifikasi bahasa Python.
Apakah ini berarti itu OrderedDict
akan menjadi mubazir? Satu-satunya kegunaan yang dapat saya pikirkan adalah untuk menjaga kompatibilitas mundur dengan versi Python yang lebih lama yang tidak mempertahankan urutan penyisipan untuk kamus normal.
python
python-3.x
dictionary
python-3.7
ordereddict
James Hiew
sumber
sumber
Jawaban:
Tidak, itu tidak akan menjadi mubazir di Python 3.7 karena
OrderedDict
bukan hanyadict
mempertahankan urutan penyisipan, itu juga menawarkan metode tergantung pesananOrderedDict.move_to_end()
, dan mendukungreversed()
iterasi *.Selain itu, perbandingan kesetaraan dengan
OrderedDict
sensitif urutan dan ini masih tidak berlaku untukdict
Python 3.7, misalnya:>>> OrderedDict([(1,1), (2,2)]) == OrderedDict([(2,2), (1,1)]) False >>> dict([(1,1), (2,2)]) == dict([(2,2), (1,1)]) True
Dua pertanyaan relevan di sini dan di sini .
* Dukungan untuk
reversed()
iterasi Python biasadict
ditambahkan untuk Python 3.8, lihat issue33462sumber