English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In diesem Artikel werden Sie alles über Python dictionary lernen; wie man Elemente erstellt, anspricht, hinzufügt und löscht, sowie verschiedene eingebettete Methoden.
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.
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.
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
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'}
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} {}
Nachstehend sind die verfügbaren Methoden des Wörterbuchs aufgelistet. Einige davon wurden in den obigen Beispielen bereits verwendet.
Methode | Beschreibung |
---|---|
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()))
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.
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)
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])
Eingebaute Funktionen wie all(), any(), len(), cmp(), sort() usw. werden oft zusammen mit Dictionaries verwendet, um verschiedene Aufgaben auszuführen.
Funktion | Beschreibung |
---|---|
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))