Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah `defaultdict` Python Boleh Mengendalikan Kunci Pendua dalam Kamus?

Bagaimanakah `defaultdict` Python Boleh Mengendalikan Kunci Pendua dalam Kamus?

Susan Sarandon
Lepaskan: 2024-12-21 03:11:10
asal
691 orang telah melayarinya

How Can Python's `defaultdict` Handle Duplicate Keys in Dictionaries?

Mengatasi Kunci Pendua dalam Kamus Python

Dalam Python, kamus ialah struktur data yang memetakan kunci unik kepada nilai yang berkaitan. Walau bagaimanapun, apakah yang berlaku apabila anda menemui kunci pendua dalam data anda?

Pertimbangkan fail teks dengan nombor pendaftaran kereta pendua dan maklumat berkaitan, seperti:

EDF768, Bill Meyer, 2456, Vet_Parking
TY5678, Jane Miller, 8987, AgHort_Parking
GEF123, Jill Black, 3456, Creche_Parking
ABC234, Fred Greenside, 2345, AgHort_Parking
...
Salin selepas log masuk

Anda mungkin mahu mencipta kamus dengan nombor pendaftaran sebagai kunci dan data sebagai nilai. Walau bagaimanapun, hanya menggunakan dict[key] = value assignment menimpa nilai sedia ada yang dikaitkan dengan kekunci pendua.

Penyelesaian: defaultdict

Python's defaultdict daripada modul collections membolehkan anda untuk mengatasi batasan ini. Ia ialah subkelas dict yang menyediakan nilai lalai untuk kunci yang tidak ditentukan.

Untuk menggunakannya, cuma gantikan:

data_dict = {}
Salin selepas log masuk

dengan:

from collections import defaultdict
data_dict = defaultdict(list)
Salin selepas log masuk

Sekarang, sebaliknya daripada memberikan nilai secara langsung, gunakan kaedah append():

data_dict[regNumber].append(details)
Salin selepas log masuk

Ini akan membuat senarai nilai yang dikaitkan dengan setiap kunci pendua, dengan berkesan menyimpan semua data yang berkaitan dengan kunci tersebut.

Contoh:

Kod berikut menggunakan defaultdict untuk mencipta kamus daripada data sampel :

from collections import defaultdict

data_dict = defaultdict(list)

for line in data_list:
    regNumber = line[0]
    # ... (rest of the code unchanged)
    data_dict[regNumber].append(details)
Salin selepas log masuk

Ini akan menghasilkan kamus di mana setiap nombor pendaftaran (kunci) dipetakan ke senarai data yang berkaitan (nilai).

Atas ialah kandungan terperinci Bagaimanakah `defaultdict` Python Boleh Mengendalikan Kunci Pendua dalam Kamus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan