Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Menyimpan Kunci Pendua dalam Kamus Python?

Bagaimanakah Saya Boleh Menyimpan Kunci Pendua dalam Kamus Python?

Susan Sarandon
Susan Sarandonasal
2024-12-21 09:42:15447semak imbas

How Can I Store Duplicate Keys in a Python Dictionary?

Menyimpan Kunci Pendua dalam Kamus Python

Mencipta kamus dengan kunci pendua tidak disokong secara asli dalam Python. Kamus, mengikut reka bentuk, mengaitkan kunci unik dengan nilai yang sepadan.

Walau bagaimanapun, anda boleh menggunakan teknik tertentu untuk menangani had ini. Satu pendekatan ialah menyimpan senarai atau set dalam kamus.

Menggunakan Kamus Lalai

Kamus lalai, yang diimport daripada modul koleksi, ialah kamus yang mengembalikan nilai lalai untuk kunci yang tidak wujud. Anda boleh memulakan kamus lalai untuk menyimpan senarai atau set, membolehkan anda mengaitkan berbilang nilai dengan kunci yang sama:

from collections import defaultdict

data_dict = defaultdict(list)

Memanipulasi Item Kamus Lalai

Untuk menyimpan nilai yang dikaitkan dengan kunci, tambahkannya pada senarai dalam kamus lalai:

regNumber = "ABC234"
details = ("Fred Greenside", "2345", "AgHort_Parking")
data_dict[regNumber].append(details)

Contoh Kod

Berikut ialah versi kod anda yang diubah suai, menggunakan kamus lalai untuk menyimpan nombor pendaftaran dan data berkaitannya:

from collections import defaultdict

data_dict = defaultdict(list)

with open("ParkingData_Part3.txt") as file:
    data_list = [lines.split(",") for lines in file.readlines()]

for line in data_list:
    regNumber = line[0]
    name = line[1]
    phoneExtn = line[2]
    carpark = line[3].strip()
    details = (name, phoneExtn, carpark)
    data_dict[regNumber].append(details)

print(data_dict)

Kod ini akan mencipta kamus di mana nombor pendaftaran adalah kunci, dan setiap kunci dipetakan ke senarai nilai yang berkaitan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Kunci Pendua dalam Kamus 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