Dalam Python, kamus ialah struktur data penting untuk memetakan kunci kepada nilai. Walau bagaimanapun, kamus sememangnya tidak menyokong kunci pendua, yang boleh menjadi isu apabila bekerja dengan jenis data tertentu.
Masalah:
Andaikan anda mempunyai fail teks yang mengandungi nombor pendaftaran kereta pendua dengan nilai yang berbeza-beza, seperti ditunjukkan di bawah:
EDF768, Bill Meyer, 2456, Vet_Parking TY5678, Jane Miller, 8987, AgHort_Parking GEF123, Jill Black, 3456, Creche_Parking ABC234, Fred Greenside, 2345, AgHort_Parking ... EDF768, Jenny Meyer, 9987, Vet_Parking TY5678, Jo King, 8987, AgHort_Parking
Anda ingin mencipta kamus di mana nombor pendaftaran adalah kunci dan data pada setiap baris adalah nilai. Walau bagaimanapun, menggunakan sintaks kamus standard akan menimpa nilai lama dengan nilai baharu apabila kunci pendua ditemui.
Penyelesaian:
Untuk mengendalikan kunci pendua, satu penyelesaian biasa ialah menggunakan lalai daripada modul koleksi:
from collections import defaultdict data_dict = defaultdict(list)
Daripada memberikan satu nilai kepada kunci pendua, anda menambah nilai baharu pada senarai yang dikaitkan dengan kunci itu:
data_dict[regNumber].append(details)
Ini akan mencipta kamus di mana setiap kunci sepadan dengan senarai nilai. Contohnya:
data_dict = { 'EDF768': [ ('Bill Meyer', '2456', 'Vet_Parking'), ('Jenny Meyer', '9987', 'Vet_Parking'), ], 'TY5678': [ ('Jane Miller', '8987', 'AgHort_Parking'), ('Jo King', '8987', 'AgHort_Parking'), ], ... }
Dengan cara ini, anda boleh mengakses semua data yang dikaitkan dengan nombor pendaftaran yang diberikan dengan mengakses senarai yang sepadan dalam kamus.
Atas ialah kandungan terperinci Bagaimanakah Saya Mengendalikan Kunci Pendua Semasa Mencipta Kamus Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!