Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengekalkan Susunan Kunci Kamus Semasa Menyusun dalam Python?

Bagaimanakah Saya Boleh Mengekalkan Susunan Kunci Kamus Semasa Menyusun dalam Python?

DDD
DDDasal
2025-01-04 22:12:43950semak imbas

How Can I Maintain Dictionary Key Order When Sorting in Python?

Memelihara Susunan Kamus dalam Python

Kamus dalam Python sememangnya tidak teratur, menjadikannya sukar untuk mengisih kunci mereka. Artikel ini meneroka kaedah untuk mengisih kamus mengikut kekuncinya.

Kamus Standard

Kamus Python Standard tidak mengekalkan susunan khusus untuk pasangan (kunci, nilai). Mengisih paris akan mengubah susunan kamus yang tidak dapat diramalkan.

OderedDict: A Solution

Kelas OrderedDict, subkelas dict, menangani isu ini. Ia mengingati susunan sisipan elemen, memastikan kekunci kekal dipesan selepas diisih.

import collections

# Sample dictionary
d = {2: 3, 1: 89, 4: 5, 3: 0}

# Create an OrderedDict with sorted keys
od = collections.OrderedDict(sorted(d.items()))

# Print the sorted OrderedDict
print(od)

Output:

OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])

Mengakses Nilai

Walaupun kunci diisih, OrderedDict mengekalkan tingkah laku yang diharapkan untuk nilai akses.

print(od[1])  # Prints 89
print(od[3])  # Prints 0

Lelaran

Lelaran melalui OrderedDict mengekalkan susunan kunci yang diisih.

for k, v in od.items():
    print(k, v)

Output:

1 89
2 3
3 0
4 5

Python 3

Dalam Python 3, gunakan sintaks yang dikemas kini untuk mengulangi item:

for k, v in od.items():
    print(k, v)

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Susunan Kunci Kamus Semasa Menyusun dalam 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