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
Lepaskan: 2025-01-04 22:12:43
asal
939 orang telah melayarinya

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)
Salin selepas log masuk

Output:

OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
Salin selepas log masuk

Mengakses Nilai

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

print(od[1])  # Prints 89
print(od[3])  # Prints 0
Salin selepas log masuk

Lelaran

Lelaran melalui OrderedDict mengekalkan susunan kunci yang diisih.

for k, v in od.items():
    print(k, v)
Salin selepas log masuk
Salin selepas log masuk

Output:

1 89
2 3
3 0
4 5
Salin selepas log masuk

Python 3

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

for k, v in od.items():
    print(k, v)
Salin selepas log masuk
Salin selepas log masuk

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!

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