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.
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'}
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']]
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!