Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Anda Mengekalkan Susunan Utama dalam Kamus Python?

Bagaimana Anda Mengekalkan Susunan Utama dalam Kamus Python?

Susan Sarandon
Susan Sarandonasal
2024-11-29 09:00:12295semak imbas

How Do You Preserve Key Order in Python Dictionaries?

Memelihara Susunan Kunci dalam Kamus Python

Dalam versi Python yang lebih lama, susunan kunci dalam kamus selalunya tidak dapat diramalkan. Ini boleh menyebabkan kekeliruan dan hasil yang tidak konsisten apabila mengakses data.

Cara Susunan Kunci Kamus Ditentukan

Sebelum Python 3.6, susunan kunci dalam kamus adalah ditentukan oleh nilai cincang kunci. Ini bermakna susunan kunci boleh berubah dari semasa ke semasa, walaupun nilainya kekal sama. Contohnya, dalam blok kod yang anda berikan:

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

print(l)

Susunan kunci dalam senarai l yang terhasil ialah ['a', 'c', 'b']. Tertib ini tidak dijamin dan boleh berubah dalam lelaran gelung masa hadapan.

Menguatkuasakan Pesanan Kunci

Untuk memastikan susunan kekunci dikekalkan, beberapa pendekatan boleh digunakan:

Python 3.7 dan Di atas

Sejak Python 3.7, kamus mengekalkan susunan sisipan secara lalai. Ini bermakna anda boleh bergantung pada susunan kunci yang dipelihara.

Python 3.6 (CPython)

Untuk pelaksanaan CPython Python 3.6, kamus juga mengekalkan susunan sisipan secara lalai. Walau bagaimanapun, tingkah laku ini adalah khusus pelaksanaan dan tidak dijamin merentas pelaksanaan Python yang berbeza.

Python 2.7 dan Earlier

Untuk menguatkuasakan susunan kunci dalam versi Python sebelum 3.6 , anda boleh menggunakan kelas collections.OrdedDict. Kelas ini secara khusus mengekalkan susunan kunci semasa ia dimasukkan:

from collections import OrderedDict

d = OrderedDict({'a': 0, 'b': 1, 'c': 2})
print(list(d.keys()))  # Output: ['a', 'b', 'c']

Atas ialah kandungan terperinci Bagaimana Anda Mengekalkan Susunan Utama dalam Kamus Python?. 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