Rumah > pembangunan bahagian belakang > Tutorial Python > Adakah Kamus Python Dijamin untuk Mengekalkan Susunan Sisipan dalam 3.6?

Adakah Kamus Python Dijamin untuk Mengekalkan Susunan Sisipan dalam 3.6?

Patricia Arquette
Lepaskan: 2024-12-20 19:37:14
asal
997 orang telah melayarinya

Are Python Dictionaries Guaranteed to Maintain Insertion Order in 3.6 ?

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:

  • dk_entry: Memegang kunci dan nilai entri mengikut tertib sisipan.
  • dk_indices: Menyimpan indeks ke dalam dk_entry, bertindak sebagai jadual cincang.

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']]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan