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

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

Barbara Streisand
Freigeben: 2024-12-13 17:16:09
Original
227 Leute haben es durchsucht

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

Doppelte Schlüssel in Python-Wörterbüchern

Im Programmierbereich erweisen sich Wörterbücher als unschätzbar wertvoll für die Organisation von Daten, indem sie eindeutige Schlüssel entsprechenden Werten zuordnen. Die Standardimplementierung des Python-Wörterbuchs folgt jedoch einem strengen Prinzip: Jeder Schlüssel muss innerhalb des Wörterbuchs eindeutig bleiben. Diese Einschränkung stellt eine Herausforderung dar, wenn es um Szenarien mit doppelten Schlüsseln in einem Datensatz geht.

Erstellen eines Wörterbuchs mit doppelten Schlüsseln

Angenommen, wir stoßen auf eine Textdatei mit doppelten Autokennzeichen Nummern, denen jeweils unterschiedliche Informationen wie Fahrernamen, Durchwahlnummern und Parkorte zugeordnet sind. Die Aufgabe besteht darin, ein Wörterbuch mit Registrierungsnummern als Schlüssel und den entsprechenden Daten als Werten zu erstellen. Das folgende Snippet veranschaulicht einen gängigen Ansatz:

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())
Nach dem Login kopieren

Dieser Code unterliegt jedoch einer Einschränkung aufgrund des Standardverhaltens des Python-Wörterbuchs: Doppelte Schlüssel führen zum Überschreiben vorheriger Werte. Um dies zu umgehen, besteht eine Lösung darin, Listen oder Mengen im Wörterbuch zu speichern.

Verwendung von Collections.defaultdict

Die Python-Standardbibliothek bietet ein nützliches Werkzeug für diesen Zweck: Sammlungen.defaultdict. Diese Klasse initialisiert ein Wörterbuch mit einer Standardfabrik und stellt sicher, dass ein nicht vorhandener Schlüssel eine neue Liste oder einen neuen Satz erstellt (abhängig vom Fabrikargument).

from collections import defaultdict

data_dict = defaultdict(list)
Nach dem Login kopieren

Um das Wörterbuch einfach mit doppelten Schlüsseln zu füllen Ersetzen Sie die ursprüngliche Zuweisungsanweisung:

data_dict[regNumber] = details
Nach dem Login kopieren

durch:

data_dict[regNumber].append(details)
Nach dem Login kopieren

Diese Strategie erstellt effektiv ein Wörterbuch von Listen, in dem jeder Schlüssel einem entspricht Liste der zugehörigen Werte. Durch die Nutzung von „collections.defaultdict“ können Sie doppelte Schlüssel in Ihren Python-Wörterbüchern erfolgreich verarbeiten.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage