Heim >Backend-Entwicklung >Python-Tutorial >So erstellen Sie ein Wörterbuch mit Listen in Python

So erstellen Sie ein Wörterbuch mit Listen in Python

WBOY
WBOYnach vorne
2023-08-26 13:01:132857Durchsuche

So erstellen Sie ein Wörterbuch mit Listen in Python

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.

Wörterbuch erstellen

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.

Erstellen Sie eine Liste

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.

Verschiedene Möglichkeiten, ein Listenwörterbuch zu erstellen

Weisen Sie der Liste Werte in Form von Indizes zu

Bei dieser Methode benennen wir die Schlüssel direkt und weisen ihnen eine Werteliste zu. Mal sehen, wie es umgesetzt wird –

Beispiel

dict1 = {}
dict1["Name"] = ["RAM", "RAVI", "TARUN", "MOHAN"] #assigning 1st key
dict1["Age"] = [22, 23, 18, 27] #assigning 2nd key
print(dict1)

Ausgabe

{'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 –

Beispiel

dict1 = {["Name", "Age", "Gender"]: "RAVI"}

Ausgabe

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.

Verwenden Sie die Methode dict oder defaultdict

Sowohl die Methoden

dict() als auch defaultdict können zum Generieren von Listenwörterbüchern verwendet werden. Schauen wir uns die Umsetzung an –

Beispiel

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)

Ausgabe

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.

Verwenden Sie die festgelegte Standardmethode

Die Methode

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 –

Beispiel

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)

Ausgabe

{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.

Fazit

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen