Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Susunan Utama dalam Kamus Python Berubah Dari Masa?

Bagaimanakah Susunan Utama dalam Kamus Python Berubah Dari Masa?

DDD
DDDasal
2024-11-19 06:17:02324semak imbas

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)

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!

Kenyataan:
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