Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mencipta Kamus Python dengan Kunci Pendua?

Bagaimanakah Saya Boleh Mencipta Kamus Python dengan Kunci Pendua?

Susan Sarandon
Susan Sarandonasal
2024-12-30 17:10:09416semak imbas

How Can I Create a Python Dictionary with Duplicate Keys?

Mencipta Kamus dengan Kunci Pendua dalam Python

Banyak struktur data dalam bahasa pengaturcaraan, seperti kamus, tidak menyokong kunci pendua. Walau bagaimanapun, terdapat cara untuk mengatasi had ini dalam Python.

Pertimbangkan senario berikut di mana anda mempunyai fail teks yang mengandungi nombor pendaftaran kereta pendua dengan nilai yang berbeza:

EDF768, Bill Meyer, 2456, Vet_Parking
TY5678, Jane Miller, 8987, AgHort_Parking
GEF123, Jill Black, 3456, Creche_Parking
ABC234, Fred Greenside, 2345, AgHort_Parking
GH7682, Clara Hill, 7689, AgHort_Parking
JU9807, Jacky Blair, 7867, Vet_Parking
KLOI98, Martha Miller, 4563, Vet_Parking
ADF645, Cloe Freckle, 6789, Vet_Parking
DF7800, Jacko Frizzle, 4532, Creche_Parking
WER546, Olga Grey, 9898, Creche_Parking
HUY768, Wilbur Matty, 8912, Creche_Parking
EDF768, Jenny Meyer, 9987, Vet_Parking
TY5678, Jo King, 8987, AgHort_Parking
JU9807, Mike Green, 3212, Vet_Parking

Matlamatnya ialah untuk mencipta kamus menggunakan nombor pendaftaran sebagai kunci dan data (tidak termasuk nombor pendaftaran) sebagai nilai. Walau bagaimanapun, kamus tradisional dalam Python akan menimpa nilai lama apabila pendua ditemui.

Menggunakan defaultdict untuk Duplicate Keys

Satu penyelesaian ialah menggunakan defaultdict daripada pustaka koleksi , yang membolehkan kami menyimpan senarai atau set nilai yang dikaitkan dengan a kunci.

from collections import defaultdict

data_dict = defaultdict(list)

Daripada menetapkan nilai tunggal untuk kunci, kami menambahkan nilai baharu pada senarai yang dikaitkan dengan kunci itu:

data_dict[regNumber].append(details)

Dengan cara ini, kamus akan mengandungi senarai nilai untuk kunci pendua, dengan berkesan membenarkan berbilang nilai dikaitkan dengan kunci yang sama.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Kamus Python dengan Kunci Pendua?. 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