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

Bagaimanakah Saya Boleh Mengendalikan Kunci Pendua Semasa Mencipta Kamus Python?

Barbara Streisand
Lepaskan: 2024-12-13 17:16:09
asal
284 orang telah melayarinya

How Can I Handle Duplicate Keys When Creating a Python Dictionary?

Kunci Pendua dalam Kamus Python

Dalam alam pengaturcaraan, kamus terbukti tidak ternilai untuk mengatur data dengan memetakan kunci unik kepada nilai yang sepadan. Walau bagaimanapun, pelaksanaan kamus Python standard mematuhi prinsip yang ketat: setiap kunci mesti kekal unik dalam kamus. Kekangan ini menimbulkan cabaran apabila menangani senario yang melibatkan kunci pendua dalam set data.

Mencipta Kamus dengan Kunci Pendua

Andaikan kita menemui fail teks yang mengandungi pendaftaran kereta pendua nombor, setiap satunya dikaitkan dengan maklumat berbeza seperti nama pemandu, sambungan telefon dan lokasi tempat letak kereta. Tugasnya adalah untuk membina kamus dengan nombor pendaftaran sebagai kunci dan data yang sepadan sebagai nilai. Coretan berikut menggambarkan pendekatan biasa:

data_dict = {}
data_list = []

def createDictionaryModified(filename):
    path = "C:\Users\user\Desktop"
    basename = "ParkingData_Part3.txt"
    filename = path + "//" + basename
    file = open(filename)
    contents = file.read()
    print(contents, "\n")
    data_list = [lines.split(",") for lines in contents.split("\n")]
    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] = details
    print(data_dict, "\n")
    print(data_dict.items(), "\n")
    print(data_dict.values())
Salin selepas log masuk

Walau bagaimanapun, kod ini menghadapi pengehadan disebabkan oleh kelakuan kamus lalai Python: kekunci pendua mengakibatkan penggantian nilai sebelumnya. Untuk memintas perkara ini, penyelesaian adalah untuk menyimpan senarai atau set dalam kamus.

Menggunakan Collections.defaultdict

Pustaka standard Python menyediakan alat yang berguna untuk tujuan ini: koleksi.defaultdict. Kelas ini memulakan kamus dengan kilang lalai, memastikan bahawa kunci yang tidak wujud akan membuat senarai atau set baharu (bergantung pada hujah kilang).

from collections import defaultdict

data_dict = defaultdict(list)
Salin selepas log masuk

Untuk mengisi kamus dengan kunci pendua, hanya gantikan pernyataan tugasan asal:

data_dict[regNumber] = details
Salin selepas log masuk

dengan:

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

Strategi ini mencipta kamus dengan berkesan senarai, di mana setiap kunci sepadan dengan senarai nilai yang berkaitan. Dengan memanfaatkan collections.defaultdict, anda boleh berjaya mengendalikan kunci pendua dalam kamus Python anda.

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

sumber:php.cn
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