Heim >Backend-Entwicklung >Python-Tutorial >Wie gehe ich beim Erstellen eines Python-Wörterbuchs mit doppelten Schlüsseln um?

Wie gehe ich beim Erstellen eines Python-Wörterbuchs mit doppelten Schlüsseln um?

DDD
DDDOriginal
2024-12-28 16:34:10679Durchsuche

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

Umgang mit doppelten Schlüsseln in Python-Wörterbüchern

In Python sind Wörterbücher eine wesentliche Datenstruktur für die Zuordnung von Schlüsseln zu Werten. Allerdings unterstützen Wörterbücher von Natur aus keine doppelten Schlüssel, was bei der Arbeit mit bestimmten Datentypen ein Problem sein kann.

Problem:

Angenommen, Sie haben eine Textdatei mit Duplizieren Sie Autokennzeichen mit unterschiedlichen Werten, wie unten gezeigt:

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

Sie möchten ein Wörterbuch erstellen, in dem die Kennzeichen Schlüssel und die Daten in jeder Zeile der Wert sind. Bei Verwendung der Standardwörterbuchsyntax wird jedoch der alte Wert mit dem neuen überschrieben, wenn doppelte Schlüssel gefunden werden.

Lösung:

Um doppelte Schlüssel zu handhaben, ist eine gängige Lösung besteht darin, ein Standarddikt aus dem Sammlungsmodul zu verwenden:

from collections import defaultdict

data_dict = defaultdict(list)

Anstatt dem doppelten Schlüssel einen einzelnen Wert zuzuweisen, hängen Sie den neuen Wert an a an Liste, die diesem Schlüssel zugeordnet ist:

data_dict[regNumber].append(details)

Dadurch wird ein Wörterbuch erstellt, in dem jeder Schlüssel einer Liste von Werten entspricht. Zum Beispiel:

data_dict = {
    'EDF768': [
        ('Bill Meyer', '2456', 'Vet_Parking'),
        ('Jenny Meyer', '9987', 'Vet_Parking'),
    ],
    'TY5678': [
        ('Jane Miller', '8987', 'AgHort_Parking'),
        ('Jo King', '8987', 'AgHort_Parking'),
    ],
    ...
}

Auf diese Weise können Sie auf alle mit einer bestimmten Registrierungsnummer verbundenen Daten zugreifen, indem Sie auf die entsprechende Liste im Wörterbuch zugreifen.

Das obige ist der detaillierte Inhalt vonWie gehe ich beim Erstellen eines Python-Wörterbuchs mit doppelten Schlüsseln um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn