Rumah >pembangunan bahagian belakang >Tutorial Python >Adakah Kamus Python Menjamin Pengambilan Nilai Kunci Tertib dengan `keys()` dan `values()`?

Adakah Kamus Python Menjamin Pengambilan Nilai Kunci Tertib dengan `keys()` dan `values()`?

Susan Sarandon
Susan Sarandonasal
2024-11-09 03:25:02757semak imbas

Do Python Dictionaries Guarantee Ordered Key-Value Retrieval with `keys()` and `values()`?

Adakah Kunci dan Nilai Kamus Python Mengekalkan Susunan Malar?

Dalam Python, kamus ialah koleksi pasangan nilai kunci, di mana kunci adalah unik dan digunakan sebagai pengecam untuk nilai yang sepadan. Mengakses kekunci dan nilai kamus menggunakan kaedah keys() dan values() ialah operasi biasa. Walau bagaimanapun, persoalan timbul: adakah susunan kunci dan nilai sentiasa konsisten apabila kaedah ini digunakan secara berurutan?

Respons

Menurut dokumentasi Python rasmi, jika tidak pengubahsuaian dibuat pada kamus antara kekunci panggilan() dan nilai(), susunan senarai yang dikembalikan akan sepadan secara langsung. Ini bermakna untuk setiap indeks dalam senarai kunci, nilai yang sepadan boleh ditemui pada indeks yang sama dalam senarai nilai.

Berikut ialah contoh:

d = {'one': 1, 'two': 2, 'three': 3}
k, v = d.keys(), d.values()

for i in range(len(k)):
    print("{}: {}".format(k[i], v[i]))  # Prints keys and corresponding values

# Result:
# one: 1
# two: 2
# three: 3

Dokumentasi menyatakan surat-menyurat ini secara eksplisit:

Jika item(), keys(), values(), iteritems(), iterkeys(), dan itervalues() dipanggil tanpa sebarang pengubahsuaian pada kamus, senarai akan sepadan secara langsung.

Kesimpulan

Selagi kamus kekal tidak berubah, kaedah keys() dan values() mengembalikan senarai yang mengekalkan susunan yang konsisten, membolehkan pemetaan mudah kunci kepada mereka nilai yang sepadan. Tingkah laku ini didokumenkan secara eksplisit dan memastikan penggunaan yang boleh dipercayai dalam kod Python.

Atas ialah kandungan terperinci Adakah Kamus Python Menjamin Pengambilan Nilai Kunci Tertib dengan `keys()` dan `values()`?. 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