English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python Grundlagenlehrbuch

Python Flow Control

Funktionen in Python

Datentypen in Python

Python Dateioperationen

Python Objekte und Klassen

Python Datum und Zeit

Hochwertiges Wissen über Python

Python Referenzhandbuch

Dictionaren (Dictionary) in Python

In diesem Artikel werden Sie alles über Python dictionary lernen; wie man Elemente erstellt, anspricht, hinzufügt und löscht, sowie verschiedene eingebettete Methoden.

Was ist ein Python-Wörterbuch?

Ein Python-Wörterbuch ist eine unsortierte Sammlung von Elementen. Andere komplexere Datentypen haben nur Werte als Elemente, während Wörterbücher ein Schlüssel:Wert-Paar (key:value) haben.

Wörterbücher sind optimiert, um Werte abzurufen, wenn der Schlüssel bekannt ist.

Wie erstellt man ein Wörterbuch?

Das Erstellen eines Wörterbuchs ist so einfach wie das Platzieren von Elementen in großen Klammern {}, die durch Kommas getrennt sind.

Ein Element hat einen Schlüssel und einen zugehörigen Wert, der als Paar dargestellt wird, Schlüssel: Wert.

Obwohl der Wert jeder Datenart sein kann und wiederholt werden kann, muss der Schlüssel ein unveränderlicher Typ (mit unveränderlichen Elementen) seinZeichenkette,ZahloderTupel) und muss einzigartig sein.

# Leer-Wörterbuch
my_dict = {}
# Wörterbuch mit Integer-Schlüssel
my_dict = {1: 'apple', 2: 'ball'}
# Mischschlüssel-Wörterbuch
my_dict = {'name': 'John', 1: [2, 4, 3}]
# Verwenden von dict()
my_dict = dict({1:'apple', 2:'ball'})
# Jedes Element als Paar der Sequenz
my_dict = dict([(1,'apple'), (2,'ball')])

Wie Sie oben sehen können, können wir auch die eingebaute Funktion dict() verwenden, um ein Wörterbuch zu erstellen.

Wie kann man auf Elemente im Wörterbuch zugreifen?

Obwohl Indizes zusammen mit anderen Container-Typen verwendet werden, um Werte abzurufen, wird im Wörterbuch der Schlüssel verwendet. Der Schlüssel kann in eckigen Klammern oder zusammen mit der get()-Methode verwendet werden.

Der Unterschied beim Verwenden von get() liegt darin, dass es None zurückgibt, wenn der Schlüssel nicht gefunden wird, anstatt einen KeyError auszulösen.

Wenn Sie das Programm ausführen, wird die Ausgabe wie folgt sein:

Jack
26

Wie ändert oder fügt man Elemente im Wörterbuch hinzu?

Wörterbücher sind änderbar. Wir können den Zuweisungsoperator verwenden, um neue Einträge hinzuzufügen oder den Wert eines vorhandenen Elements zu ändern.

Wenn der Schlüssel bereits existiert, wird der Wert aktualisiert, andernfalls wird das neue Schlüssel:Wert-Paar hinzugefügt.

Wenn Sie das Programm ausführen, wird die Ausgabe wie folgt sein:

{'name': 'Jack', 'age': 27}
{'name': 'Jack', 'age': 27, 'address': 'Downtown'}

Wie löscht man Elemente aus dem Wörterbuch oder entfernt sie?

Wir können die Methode pop() verwenden, um ein bestimmtes Element aus dem Wörterbuch zu löschen. Diese Methode verwendet den angegebenen Schlüssel, um den Eintrag zu entfernen und den Wert zurückzugeben.

Die Methode popitem() kann verwendet werden, um ein beliebiges Element (Schlüssel, Wert) aus dem Wörterbuch zu löschen und zurückzugeben. Mit der Methode clear() können Sie alle Einträge auf einmal löschen.

Wir können auch den Schlüsselwort del verwenden, um einzelne Einträge oder das gesamte Wörterbuch selbst zu löschen.

Wenn Sie das Programm ausführen, wird die Ausgabe wie folgt sein:

16
{1: 1, 2: 4, 3: 9, 5: 25}
(1, 1)
{2: 4, 3: 9, 5: 25}
{2: 4, 3: 9}
{}

Python-Wörterbuchmethode

Nachstehend sind die verfügbaren Methoden des Wörterbuchs aufgelistet. Einige davon wurden in den obigen Beispielen bereits verwendet.

Python-Wörterbuchmethode
MethodeBeschreibung
clear()Entfernen Sie alle Elemente aus dem Wörterbuch.
copy()Geben Sie eine Oberflächenduplikat des Wörterbuchs zurück.
fromkeys(seq[,v])Verwenden Sie dies, um ein neues Wörterbuch zu erstellen, bei dem die Elemente der Sequenz seq als Schlüssel und v als Standardwert für alle Schlüssel dienen.
get(key[,d])

Geben Sie den Wert des Schlüssels zurück. Wenn der Schlüssel nicht existiert, wird der Wert d (Standardwert None) zurückgegeben.

items()Geben Sie eine durchsuchbare Liste von Tupeln (Schlüssel, Wert) zurück.
keys()Geben Sie alle Schlüssel des Wörterbuchs zurück.
pop(key[,d])Entfernen Sie den Eintrag mit dem Schlüssel und geben Sie seinen Wert zurück. Wenn der Schlüssel nicht gefunden wird, wird der Wert d zurückgegeben. Wenn neither d bereitgestellt noch der Schlüssel gefunden wird, wird ein KeyError-Fehler ausgelöst.
popitem()}Entfernt und gibt ein beliebiges Element (Schlüssel, Wert) zurück. Führt eine KeyError aus, wenn das Dictionary leer ist.
setdefault(key[,d])Gibt den Wert des angegebenen Schlüssels zurück. Wenn der Wert des angegebenen Schlüssels im Dictionary nicht vorhanden ist, wird der angegebene Wert zurückgegeben, standardmäßig None.
update([other])Verwenden Sie ausotherder Schlüssel/Aktualisiert das Dictionary mit Paaren, überschreibt bestehende Schlüssel.
values()Gibt alle Werte im Dictionary als Liste zurück.

Hier sind einige Beispiele für die Verwendung dieser Methoden.

marks = {}.fromkeys(['Math','English','Science'], 0)
# Ausgabe: {'English': 0, 'Math': 0, 'Science': 0}
print(marks)
for item in marks.items():
    print(item)
# Ausgabe: ['English', 'Math', 'Science']
list(sorted(marks.keys()))

Verständnis der Python-Dictionaries

Dictionary-Verständnis ist eine elegante und kompakte Methode zur Erstellung neuer Dictionaries aus Iteratoren in Python.

Dictionary-Verständnis enthält ein AusdrucksPaar (Schlüssel: Wert), gefolgt von einem for-Ausdruck in Klammern {}.

Dies ist ein Beispiel für die Erstellung eines Dictionaries, bei dem jeder Eintrag ein Paar von Zahlen und deren Quadrat ist.

squares = {x: x*x für x in range(6)}
# Ausgabe: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print(squares)

Dieser Code ist äquivalent zu

squares = {}
for x in range(6):
   squares[x] = x*x

Dictionary-Verständnis kann mehr enthaltenforoderif-Anweisung.

Optionale if-Anweisungen können verwendet werden, um Elemente zu filtern und ein neues Dictionary zu bilden.

Dies sind einige Beispiele für Dictionaries, die nur ungerade Elemente enthalten.

odd_squares = {x: x*x für x in range(11) wenn x%2 == 1}
# Ausgabe: {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
print(odd_squares)

Für weitere Informationen besuchen Sie bittePython Dictionary-Verständnis.

Andere Dictionary-Operationen

Mitgliedschaftstest des Dictionaries

Wir können den Schlüsselwörter "in" verwenden, um zu testen, ob ein Schlüssel im Dictionary vorhanden ist. Bitte beachten Sie, dass der Mitgliedschaftstest nur für Schlüssel und nicht für Werte gilt.

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
# Ausgabe: True
print(1 in squares)
# Ausgabe: True
print(2 not in squares)
# Test auf Mitgliedschaft nur für Schlüssel, nicht für Werte
# Ausgabe: False
print(49 in squares)

Durchlaufen des Dictionaries

Mit einem for-Loop können wir jeden Schlüssel im Dictionary durchlaufen.

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
for i in squares:
    print(squares[i])

Eingebauter Dictionary-Funktionen

Eingebaute Funktionen wie all(), any(), len(), cmp(), sort() usw. werden oft zusammen mit Dictionaries verwendet, um verschiedene Aufgaben auszuführen.

Eingebauter Dictionary-Funktionen
FunktionBeschreibung
all()

Wenn alle Schlüssel des Dictionaries true sind (oder das Dictionary ist leer), wird True zurückgegeben.

any()

Wenn irgendein Schlüssel des Dictionaries true ist, wird True zurückgegeben. Wenn das Dictionary leer ist, wird False zurückgegeben.

len()Gibt die Länge des Dictionaries (Anzahl der Elemente) zurück.
cmp()Vergleicht die Elemente zweier Dictionaries.
sorted()Gibt die neu sortierte Liste der Schlüssel des Dictionaries zurück.

Hier sind einige Beispiele zur Verwendung eingebauter Funktionen zur Verarbeitung von Dictionaries.

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
# Ausgabe: 5
print(len(squares))
# Ausgabe: [1, 3, 5, 7, 9]
print(sorted(squares))