Adakah Kamus Disusun dalam Python 3.6 ?
Sehingga Python 3.6, kamus dalam pelaksanaan CPython adalah sisipan, bermakna mereka mengekalkan susunan itu daripada item yang dimasukkan. Walau bagaimanapun, tingkah laku ini dianggap sebagai perincian pelaksanaan dan tidak boleh dipercayai.
Tempahan Sisipan Terjamin dalam Python 3.7
Dalam Python 3.7, susunan sisipan untuk kamus menjadi ciri bahasa terjamin. Ini bermakna semua pelaksanaan Python yang mematuhi mesti menawarkan kamus tertib sisipan.
Peningkatan Prestasi dengan Susunan Sisipan
Pelaksanaan kamus baharu dalam Python 3.6 mencapai susunan sisipan dengan mengekalkan dua tatasusunan:
Reka bentuk ini mengurangkan overhed memori dengan menyimpan hanya entri yang diperlukan dan menggunakan jarang susunan indeks. Pelaksanaan sebelumnya memperuntukkan tatasusunan entri kunci dan nilai yang jarang, menghasilkan ruang kosong.
Penggambaran Struktur Data
Contohnya, kamus { 'timmy': ' merah', 'barry': 'hijau', 'guido': 'biru' } disimpan sebagai:
indices = [None, 1, None, None, None, 0, None, 2] entries = [[-9092791511155847987, 'timmy', 'red'], [-8522787127447073495, 'barry', 'green'], [-6480567542315338377, 'guido', 'blue']]
Dalam reka bentuk lama, akan terdapat banyak ruang kosong untuk meminimumkan perlanggaran. Pendekatan baharu ini mengurangkan penggunaan ingatan dengan mengalihkan jarang kepada tatasusunan indeks.
Kesimpulannya, susunan sisipan dalam kamus Python 3.6 ialah peningkatan ketara yang meningkatkan kecekapan ingatan dan menjadikan kamus lebih dipercayai merentas pelaksanaan Python.
Atas ialah kandungan terperinci Adakah Kamus Python Dijamin untuk Mengekalkan Susunan Sisipan dalam 3.6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!