Ein Wörterbuch in Python ist eine Sammlung von Daten, die in Form von Schlüssel-Wert-Paaren gespeichert sind. Wir können verschiedene Datentypen als Werte für Schlüssel zuweisen. Es hilft Programmierern, Daten und Kategoriegenres zu speichern und die Datenbank entsprechend aufzubauen.
Auf der anderen Seite speichern Listen auch Daten, aber hier sind die Elemente nicht mit mehreren Werten verknüpft. Wörterbücher und Listen sind beide indiziert. In Listen speichern wir Daten in Form von Sequenzen, und diese Sequenzen können durchlaufen und manipuliert werden.
In diesem Artikel werden wir diese beiden Formate zusammenführen und ein Wörterbuch mit Listen erstellen. Bevor wir uns mit dem Thema befassen, werfen wir einen kurzen Überblick über diesen Artikel.
Für die Wörterbucherstellung verwenden wir geschweifte Klammern „{}“. Schauen wir uns die Syntax an -
dict1 = {"Car": "AUDI"}
Hier ist „Auto“ der Schlüssel und „AUDI“ der Schlüsselwert.
Für die Listenerstellung verwenden wir eckige Klammern „[]“. Schauen wir uns die Syntax an -
lis1 = ["Name", "age", "gender", "qualification"]
Hier sind „Name“, „Alter“, „Geschlecht“ und „Qualifikation“ Elemente der Liste „lis1“.
Wenn wir versuchen, diese Formate zu kombinieren, um ein Wörterbuch mit Listen zu erstellen, bedeutet das, dass wir Listen als Schlüssel-Wert-Paare behandeln müssen. Die Frage ist jedoch, ob die Liste als Schlüssel oder als Werte fungiert. Die Regel für die Zuweisung eines Schlüssels lautet, dass dieser „unveränderlich“ bzw. unveränderbar sein sollte.
Daher kann eine Liste nicht als Wörterbuchschlüssel fungieren. Wenn wir also mit einem Wörterbuch von Listen arbeiten, behandeln wir Listen als „Werte“ unveränderlicher Schlüssel.
Bei dieser Methode benennen wir die Schlüssel direkt und weisen ihnen eine Werteliste zu. Mal sehen, wie es umgesetzt wird –
dict1 = {} dict1["Name"] = ["RAM", "RAVI", "TARUN", "MOHAN"] #assigning 1st key dict1["Age"] = [22, 23, 18, 27] #assigning 2nd key print(dict1)
{'Name': ['RAM', 'RAVI', 'TARUN', 'MOHAN'], 'Age': [22, 23, 18, 27]}
Hier erstellen wir ein leeres Wörterbuch und weisen dann die Schlüsselwerte extern zu. „Name“ ist der erste Schlüssel und „Alter“ der zweite Schlüssel.
Wenn wir die Reihenfolge umkehren, d. h. list als Schlüssel dieses Wörterbuchs angeben, dann schauen wir mal, was passiert –
dict1 = {["Name", "Age", "Gender"]: "RAVI"}
dict1 = {["Name", "Age", "Gender"]: "RAVI"} TypeError: unhashable type: 'list'
löst einen Fehler aus, da Listen nicht unveränderlicher Natur sind und daher nicht als Schlüssel verwendet werden können.
dict() als auch defaultdict können zum Generieren von Listenwörterbüchern verwendet werden. Schauen wir uns die Umsetzung an –
from collections import defaultdict lis1 = [("Name", "Arjun"), ("Age", 22), ("Age", 23), ("Age", 28), ("Name", "RAVI"),("Name", "ADITYA")] dict1 = defaultdict(list) for keys, values in lis1: dict1[keys].append(values) print(dict1)
defaultdict(<class 'list'>, {'Name': ['Arjun', 'RAVI', 'ADITYA'], 'Age': [22, 23, 28]})
Das Interessante an dieser Methode ist, dass sie die Übergabe von Listeninformationen in Klammern für jeden Wert ermöglicht. Das bedeutet, dass wir für eine bestimmte Klammer nur einen Schlüsselwert übergeben können.
Wenn wir den Schlüsselwert erhöhen wollen, benötigen wir eine neue Klammer mit dem richtigen Schlüsselnamen. Dies erhöht die Lesbarkeit des Programms.
Hier haben wir das Sammlungsmodul importiert, um die Methode „defaultdict“ zu verwenden. Wir haben die Liste in der richtigen Reihenfolge der Informationen weitergegeben. Wir verwenden hierfür die Methode defaultdict, da diese effizienter ist und einen Standardwert erstellt, falls ein Schlüssel fehlt. Wir durchlaufen die Liste und hängen jedes Schlüssel-Wert-Paar an das Wörterbuch an.
setdeafault() wird verwendet, um den Wörterbuchwert zurückzugeben, der dem angegebenen Schlüssel zugeordnet ist. Das Besondere an dieser Methode ist, dass, wenn der angegebene Schlüssel nicht existiert, dieser spezifische Schlüssel durch Einfügen erstellt wird. Schauen wir uns die Umsetzung an –
dict1 = {} lis1 = [23, 24, 28, 12, 22] for key in lis1: for values in range(int(key), int(key)+4): dict1.setdefault(values, []).append(key) print(dict1)
{23: [23, 22], 24: [23, 24, 22], 25: [23, 24, 22], 26: [23, 24], 27: [24], 28: [28], 29: [28], 30: [28], 31: [28], 12: [12], 13: [12], 14: [12], 15: [12], 22: [22]}
Mit dieser Methode können wir für jeden Schlüssel einen Datensatz erstellen. Das Problem bei diesem Ansatz ist die Wahl des Datentyps. Nur numerische Einträge können als Bereichswerte betrachtet werden.
Hier,
Wir erstellen ein leeres Wörterbuch und übergeben ihm dann eine Liste, in der die Informationen gespeichert sind.
Wir durchlaufen die Liste und trennen Schlüssel und Werte. Wir erstellen jeden numerischen Eintrag als Schlüssel und legen dann nach Verwendung einer weiteren „for-Schleife“ den Bereich für die Wertinitialisierung fest.
Wir hängen die Werte und ihre Schlüssel an das leere Wörterbuch an.
Schließlich haben wir das Wörterbuch gedruckt.
In diesem Artikel haben wir die Grundkonzepte der Wörterbucherstellung und -verarbeitung kennengelernt. Wir haben verschiedene Methoden zum Erstellen eines Listenwörterbuchs besprochen und die Komplexität und Einschränkungen jeder Methode untersucht.
Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein Wörterbuch mit Listen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!