Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Python Menjamin Pesanan Utama dalam Kamus?

Bagaimanakah Python Menjamin Pesanan Utama dalam Kamus?

Linda Hamilton
Lepaskan: 2024-12-26 05:56:12
asal
250 orang telah melayarinya

How Does Python Guarantee Key Order in Dictionaries?

Mengekalkan Susunan Kunci/Nilai dalam Kamus

Dalam Python, kamus sememangnya mengekalkan susunan sisipan dari versi 3.6 dan seterusnya. Dengan mengisytiharkan kamus seperti berikut:

d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}
Salin selepas log masuk

Kamus yang terhasil akan mengekalkan kunci mengikut susunan yang diisytiharkan. Tingkah laku ini berbeza daripada versi Python terdahulu di mana susunan kunci adalah rawak.

Di bawah hud, pemeliharaan-tertib ini dicapai melalui pelaksanaan yang dioptimumkan yang menggunakan jadual cincang dan tatasusunan yang jarang untuk menyimpan pasangan nilai kunci. Kekunci pada asasnya disimpan dalam tatasusunan dalam urutan ia ditambahkan.

Sementara Python 3.6 menganggap pemeliharaan-tertib sebagai perincian pelaksanaan, Python 3.7 meningkatkan ini kepada spesifikasi bahasa. Akibatnya, semua pelaksanaan Python yang serasi dengan versi 3.7 dan lebih tinggi mesti mengekalkan susunan dalam kamus mereka. Jaminan ini dilanjutkan kepada lelaran terbalik juga, yang disokong daripada Python 3.8 dan seterusnya.

Walaupun pengenalan kamus pemelihara pesanan, kelas collections.OrderedDict() daripada modul koleksi tetap berguna dalam senario tertentu. Ia menawarkan ciri tambahan seperti kebolehterbalikan dan keupayaan untuk menyusun semula kunci menggunakan kaedah move_to_end().

Atas ialah kandungan terperinci Bagaimanakah Python Menjamin Pesanan Utama dalam Kamus?. 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