Rumah > pembangunan bahagian belakang > Tutorial Python > Adakah Kamus Python 3.6 Disusun dan Bagaimana Ini Memberi Impak Prestasi?

Adakah Kamus Python 3.6 Disusun dan Bagaimana Ini Memberi Impak Prestasi?

Patricia Arquette
Lepaskan: 2024-12-21 17:19:10
asal
991 orang telah melayarinya

Are Python 3.6  Dictionaries Ordered, and How Does This Impact Performance?

Adakah Kamus Python 3.6 Disusun?

Dalam Python versi 3.6 dan ke atas, kamus mengekalkan susunan sisipan untuk elemennya. Tingkah laku ini dikenali sebagai "pesanan sisipan." Tidak seperti OrderedDict, yang menawarkan keupayaan berkaitan pesanan lanjutan, kamus hanya mengekalkan susunan sisipan elemen.

Cara Python 3.6 Meningkatkan Prestasi Kamus Sambil Memelihara Susunan

The Python 3.6 pelaksanaan kamus menggunakan pendekatan dwi-array untuk menangani kecekapan memori sambil mengekalkan sisipan tertib.

  • dk_entry tatasusunan: Menyimpan entri kamus dalam susunan yang dimasukkan.
  • dk_indices array: Mengandungi indeks titik itu kepada tatasusunan dk_entry.

Pendekatan ini mengelakkan keperluan untuk tatasusunan yang jarang penduduk, yang berlaku dalam pelaksanaan sebelumnya. Sebaliknya, ia hanya menyimpan entri yang diperlukan dan indeksnya, menghasilkan penggunaan memori yang lebih padat.

Perwakilan Visual:

Pertimbangkan kamus berikut:

d = {'timmy': 'red', 'barry': 'green', 'guido': 'blue'}
Salin selepas log masuk

Di bawah pelaksanaan baharu, ia akan 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

Berbanding dengan pelaksanaan sebelumnya, pendekatan ini mengurangkan pembaziran memori dengan ketara.

Faedah Pelaksanaan Kamus Baharu

Terutamanya, pelaksanaan baharu meningkatkan penggunaan memori sambil mengekalkan susunan sisipan. Walaupun perbezaan kelajuan antara pelaksanaan lama dan baharu tidak dramatik, operasi tertentu seperti lelaran dan saiz semula mungkin menyaksikan peningkatan prestasi.

Atas ialah kandungan terperinci Adakah Kamus Python 3.6 Disusun dan Bagaimana Ini Memberi Impak Prestasi?. 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