Bagaimanakah Susunan Utama dalam Kamus Python Berubah Dari Masa?

DDD
Lepaskan: 2024-11-19 06:17:02
asal
224 orang telah melayarinya

How Has Key Order in Python Dictionaries Changed Over Time?

Memahami Susunan Utama dalam Kamus: Sejarah

Kamus, struktur data asas dalam Python, mewakili pemetaan antara kunci dan nilai. Dalam versi Python yang lebih lama, susunan kunci dalam kamus ditentukan oleh mekanisme dalaman pelaksanaan, yang membawa kepada hasil yang tidak dijangka.

Pertimbangkan kod berikut:

d = {'a': 0, 'b': 1, 'c': 2}
l = d.keys()

print(l)
Salin selepas log masuk

Kod ini mencetak [ 'a', 'c', 'b'], membuatkan pengguna bingung tentang susunan kuncinya ditentukan.

Python 3.7

Dalam Python 3.7, sifat pemeliharaan susunan sisipan kamus menjadi bahagian rasmi spesifikasi bahasa. Ini bermakna bahawa kamus kini mengekalkan susunan kekunci dimasukkan, memberikan gelagat yang konsisten dan boleh diramal.

Python 3.6 (CPython)

Untuk pelaksanaan CPython Python , kamus memperkenalkan pemeliharaan susunan sisipan dalam versi 3.6. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ini ialah butiran pelaksanaan dan mungkin tidak digunakan pada pelaksanaan Python yang lain.

Python >=2.7 dan <3.6

Dalam versi lama Python (2.7 dan ke bawah), kamus tidak menjamin susunan kunci. Untuk mengekalkan susunan sisipan, pengguna boleh bergantung pada koleksi.Kelas OrderedDict, yang secara eksplisit mengekalkan susunan kunci yang dimasukkan.

Kesimpulan

Susunan kunci dalam kamus mempunyai berkembang sepanjang sejarah Python. Dalam versi moden (3.7 ), kamus dipesan sisipan secara lalai, membolehkan anda mendapatkan kunci dengan pasti dalam susunan yang dijangkakan. Untuk versi Python yang lebih lama, kelas collections.OrderedDict menyediakan penyelesaian yang boleh dipercayai untuk mengekalkan susunan kunci.

Atas ialah kandungan terperinci Bagaimanakah Susunan Utama dalam Kamus Python Berubah Dari Masa?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan