Python Wörterbuch
Ein Wörterbuch ist ein weiteres veränderbares Container-Modell, das Objekte beliebigen Typs speichern kann.
Jedes Schlüssel-Wert-Paar des Dictionaryskey:valuewird durch einen Doppelpunkt getrennt:und jedes Schlüssel-Wert-Paar wird durch ein Komma getrennt,und das gesamte Dictionary ist in geschweifte Klammern eingeschlossen{}wie im folgenden Format gezeigt:
Hinweis:dictDa es sich um ein Python-Schlüsselwort und eine integrierte Funktion handelt, wird nicht empfohlen, Variablendict zu nennen。
Schlüssel sind im Allgemeinen eindeutig. Wenn ein doppelter Schlüssel auftritt, ersetzt das letzte Schlüssel-Wert-Paar das vorherige. Werte müssen nicht eindeutig sein.
>>> tinydict['b']
'3'
>>> tinydict
{'a': 1, 'b': '3'}
Werte können jeden Datentyp haben, aber Schlüssel müssen unveränderlich sein, wie Zeichenketten, Zahlen oder Tupel.
Ein einfaches Dictionary-Beispiel:
Du kannst auch ein Dictionary wie folgt erstellen:
Zugriff auf Werte in einem Dictionary
Setzen Sie den entsprechenden Schlüssel in die bekannten eckigen Klammern, wie im folgenden Beispiel:
Beispiel
Die Ausgabe des obigen Beispiels ist:
tinydict['Name']: Zara tinydict['Age']: 7
Wenn Sie mit einem Schlüssel, der nicht im Dictionary vorhanden ist, auf Daten zugreifen, wird ein Fehler wie folgt ausgegeben:
Beispiel
Die Ausgabe des obigen Beispiels ist:
tinydict['Alice']:
Traceback (most recent call last):
File "test.py", line 5, in <module>
print "tinydict['Alice']: ", tinydict['Alice']
KeyError: 'Alice'
Ändern eines Dictionary
Um einem Dictionary neue Inhalte hinzuzufügen, fügen Sie neue Schlüssel/Wert-Paare hinzu, ändern oder löschen Sie vorhandene Schlüssel/Wert-Paare, wie im folgenden Beispiel gezeigt:
Beispiel
tinydict['Age']: 8 tinydict['School']: EXAMPLE
Löschen von Wörterbuchelementen
Sie können ein einzelnes Element löschen oder das gesamte Wörterbuch leeren. Das Leeren erfordert nur einen Vorgang.
Um ein Wörterbuch explizit zu löschen, verwenden Sie den Befehl del, wie im folgenden Beispiel:
Beispiel
Aber dies löst eine Ausnahme aus, denn nach der Verwendung von del existiert das Wörterbuch nicht mehr:
tinydict['Age']:
Traceback (most recent call last):
File "test.py", line 10, in <module>
print "tinydict['Age']: ", tinydict['Age']
NameError: name 'tinydict' is not defined
Hinweis:Die del()-Methode wird später ebenfalls besprochen.
Eigenschaften von Dictionary-Schlüsseln
Dictionary-Werte können beliebige Python-Objekte ohne Einschränkung sein, entweder Standardobjekte oder benutzerdefinierte, aber für Schlüssel gilt das nicht.
Zwei wichtige Punkte, die man sich merken sollte:
1) Derselbe Schlüssel darf nicht zweimal vorkommen. Wenn derselbe Schlüssel bei der Erstellung zweimal zugewiesen wird, wird der zuletzt zugewiesene Wert beibehalten, wie im folgenden Beispiel:
Beispiel
Die Ausgabe des obigen Beispiels ist:
tinydict['Name']: Manni
2) Schlüssel müssen unveränderlich sein, daher können Zahlen, Zeichenketten oder Tupel verwendet werden, aber Listen nicht, wie im folgenden Beispiel:
Beispiel
Die Ausgabe des obigen Beispiels ist:
Traceback (most recent call last):
File "test.py", line 3, in <module>
tinydict = {['Name']: 'Zara', 'Age': 7}
TypeError: unhashable type: 'list'
Integrierte Funktionen und Methoden für Dictionaries
Das Python-Dictionary enthält die folgenden integrierten Funktionen:
| Laufende Nummer | Funktion und Beschreibung |
|---|---|
| 1 | cmp(dict1, dict2) Vergleicht Elemente zweier Dictionaries. |
| 2 | len(dict) Zählt die Anzahl der Dictionary-Elemente, d. h. die Gesamtzahl der Schlüssel. |
| 3 | str(dict) Gibt eine druckbare String-Darstellung des Dictionaries aus. |
| 4 | type(variable) Gibt den Typ der Eingabevariable zurück. Wenn die Variable ein Dictionary ist, wird der Dictionary-Typ zurückgegeben. |
Das Python-Dictionary enthält die folgenden integrierten Methoden:
| Laufende Nummer | Funktion und Beschreibung |
|---|---|
| 1 | dict.clear() Löscht alle Elemente im Dictionary. |
| 2 | dict.copy() Gibt eine flache Kopie eines Dictionarys zurück. |
| 3 | dict.fromkeys(seq[, val]) Erstellt ein neues Dictionary, verwendet Elemente aus der Sequenz seq als Schlüssel des Dictionaries und val als Anfangswert, der allen Schlüsseln entspricht. |
| 4 | dict.get(key, default=None) Gibt den Wert des angegebenen Schlüssels zurück. Wenn der Schlüssel nicht im Dictionary enthalten ist, wird der Standardwert zurückgegeben. |
| 5 | dict.has_key(key) Gibt true zurück, wenn der Schlüssel im Dictionary dict enthalten ist, andernfalls false.In Python3 nicht unterstützt. |
| 6 | dict.items() Gibt ein durchlaufbares Array von (key, value)-Tupeln als Liste zurück. |
| 7 | dict.keys() Gibt eine Liste aller Schlüssel in einem Dictionary zurück. |
| 8 | dict.setdefault(key, default=None) Ähnlich wie get(), aber wenn der Schlüssel im Dictionary nicht existiert, wird er hinzugefügt und der Wert auf default gesetzt. |
| 9 | dict.update(dict2) Aktualisiert die Schlüssel/Wert-Paare des Dictionaries dict2 in dict. |
| 10 | dict.values() Gibt eine Liste aller Werte in einem Dictionary zurück. |
| 11 | pop(key[,default]) Löscht den Wert, der dem angegebenen Schlüssel im Dictionary entspricht, und gibt den gelöschten Wert zurück. Der Schlüsselwert muss angegeben werden. Andernfalls wird der default-Wert zurückgegeben. |
| 12 | popitem() Gibt das letzte Schlüssel-Wert-Paar im Dictionary zurück und löscht es. |