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:

d = {key1 : value1, key2 : value2 }

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 = {'a': 1, 'b': 2, 'b': '3'}
>>> 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:

tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

Du kannst auch ein Dictionary wie folgt erstellen:

tinydict1 = { 'abc': 456 } tinydict2 = { 'abc': 123, 98.6: 37 }

Zugriff auf Werte in einem Dictionary

Setzen Sie den entsprechenden Schlüssel in die bekannten eckigen Klammern, wie im folgenden Beispiel:

Beispiel

#!/usr/bin/python tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print "tinydict['Name']: ", tinydict['Name'] print "tinydict['Age']: ", tinydict['Age']

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

#!/usr/bin/python tinydict = {'Name': 'Example', 'Age': 7, 'Class': 'First'} print "tinydict['Alice']: ", tinydict['Alice']

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

#!/usr/bin/python # -*- coding: UTF-8 -*- tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} tinydict['Age'] = 8 # Aktualisieren tinydict['School'] = "EXAMPLE" # Hinzufügen print "tinydict['Age']: ", tinydict['Age'] print "tinydict['School']: ", tinydict['School']
Die Ausgabe des obigen Beispiels ist:
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

#!/usr/bin/python # -*- coding: UTF-8 -*- tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} del tinydict['Name'] # Eintrag mit Schlüssel 'Name' löschen tinydict.clear() # Alle Einträge im Wörterbuch löschen del tinydict # Wörterbuch löschen print "tinydict['Age']: ", tinydict['Age'] print "tinydict['School']: ", tinydict['School']

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

#!/usr/bin/python tinydict = {'Name': 'Example', 'Age': 7, 'Name': 'Manni'} print "tinydict['Name']: ", tinydict['Name']

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

#!/usr/bin/python tinydict = {['Name']: 'Zara', 'Age': 7} print "tinydict['Name']: ", tinydict['Name']

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 NummerFunktion und Beschreibung
1cmp(dict1, dict2)
Vergleicht Elemente zweier Dictionaries.
2len(dict)
Zählt die Anzahl der Dictionary-Elemente, d. h. die Gesamtzahl der Schlüssel.
3str(dict)
Gibt eine druckbare String-Darstellung des Dictionaries aus.
4type(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 NummerFunktion und Beschreibung
1dict.clear()
Löscht alle Elemente im Dictionary.
2dict.copy()
Gibt eine flache Kopie eines Dictionarys zurück.
3dict.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.
4dict.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.
5dict.has_key(key)
Gibt true zurück, wenn der Schlüssel im Dictionary dict enthalten ist, andernfalls false.In Python3 nicht unterstützt.
6dict.items()
Gibt ein durchlaufbares Array von (key, value)-Tupeln als Liste zurück.
7dict.keys()
Gibt eine Liste aller Schlüssel in einem Dictionary zurück.
8dict.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.
9dict.update(dict2)
Aktualisiert die Schlüssel/Wert-Paare des Dictionaries dict2 in dict.
10dict.values()
Gibt eine Liste aller Werte in einem Dictionary zurück.
11pop(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.
Weitere Erweiterungen