Python3 Wörterbuch

Ein Wörterbuch ist eine weitere Art von veränderlichem Container-Modell, das Objekte jedes Typs speichern kann.

Jedes Schlüssel-Wert-Paar eines Wörterbuchskey=>valuePaar wird durch einen Doppelpunkt:getrennt, und jedes Paar wird durch ein Komma (,) getrennt, das gesamte Wörterbuch ist in geschweifte Klammern eingeschlossen{}, das Format ist wie folgt:

d = {key1 : value1, key2 : value2, key3 : value3 }

Hinweis:dictWie bei Python-Schlüsselwörtern und integrierten Funktionen wird nicht empfohlen, Variablennamendict zu nennen。

Schlüssel müssen eindeutig sein, aber Werte müssen es nicht sein.

Werte können jeden Datentyp annehmen, aber Schlüssel müssen unveränderlich sein, wie Zeichenketten oder Zahlen.

Ein einfaches Dictionary-Beispiel:

tinydict = {'name': 'example', 'likes': 123, 'url': 'www.example.com'}

Du kannst auch ein Dictionary wie folgt erstellen:

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

Ein leeres Dictionary erstellen

Verwenden Sie geschweifte Klammern{ }, um ein leeres Dictionary zu erstellen:

Beispiel

# Verwenden Sie geschweifte Klammern {}, um ein leeres Dictionary zu erstellen
emptyDict = {}
 
# Das Dictionary ausgeben
print(emptyDict)
 
# Die Anzahl der Dictionary-Elemente prüfen
print("Länge:", len(emptyDict))
 
# Den Typ prüfen
print(type(emptyDict))

Das obige Beispiel gibt aus:

{}
Length: 0
<class 'dict'>

Verwenden Sie die eingebaute Funktiondict(), um ein Dictionary zu erstellen:

Beispiel

emptyDict = dict()
 
# Das Dictionary ausgeben
print(emptyDict)
 
# Die Anzahl der Dictionary-Elemente prüfen
print("Länge:",len(emptyDict))
 
# Den Typ prüfen
print(type(emptyDict))

Das obige Beispiel gibt aus:

{}
Length: 0
<class 'dict'>

Zugriff auf Werte in einem Dictionary

Setzen Sie den entsprechenden Schlüssel in eckige Klammern, wie im folgenden Beispiel:

Beispiel

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

Das obige Beispiel gibt aus:

tinydict['Name']:  Example
tinydict['Age']:  7

Wenn Sie auf Daten mit einem Schlüssel zugreifen, der im Dictionary nicht existiert, wird folgender Fehler ausgegeben:

Beispiel

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

Das obige Beispiel gibt aus:

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    print ("tinydict['Alice']: ", tinydict['Alice'])
KeyError: 'Alice'


Dictionary ändern

Um einem Dictionary neue Inhalte hinzuzufügen, fügen Sie neue Schlüssel/Wert-Paare hinzu oder ändern bzw. löschen Sie vorhandene Schlüssel/Wert-Paare, wie im folgenden Beispiel:

Beispiel

#!/usr/bin/python3 tinydict = {'Name': 'Example', 'Age': 7, 'Class': 'First'} tinydict['Age'] = 8 # Age aktualisieren tinydict['School'] = "Beispiel-Tutorial" # Informationen hinzufügen print ("tinydict['Age']: ", tinydict['Age']) print ("tinydict['School']: ", tinydict['School'])
Das obige Beispiel gibt aus:
tinydict['Age']:  8
tinydict['School']:  Example


Wörterbuchelemente löschen

Sie können ein einzelnes Element löschen oder das Wörterbuch leeren; zum Leeren ist nur ein Vorgang erforderlich.

Löschen Sie ein Wörterbuch explizit mit dem Befehl del, wie im folgenden Beispiel:

Beispiel

#!/usr/bin/python3 tinydict = {'Name': 'Example', 'Age': 7, 'Class': 'First'} del tinydict['Name'] # Schlüssel 'Name' löschen tinydict.clear() # Das Wörterbuch leeren del tinydict # Das Wörterbuch löschen print ("tinydict['Age']: ", tinydict['Age']) print ("tinydict['School']: ", tinydict['School'])

Dies wird jedoch eine Ausnahme auslösen, da das Wörterbuch nach der del-Operation nicht mehr existiert:

Traceback (most recent call last):
  File "/example-test/test.py", line 9, in <module>
    print ("tinydict['Age']: ", tinydict['Age'])
NameError: name 'tinydict' is not defined

Hinweis:Die del()-Methode wird später ebenfalls besprochen.


Eigenschaften von Wörterbuchschlüsseln

Wörterbuchwerte können beliebige Python-Objekte sein, entweder Standardobjekte oder benutzerdefinierte Objekte; Schlüssel hingegen nicht.

Zwei wichtige Punkte sind zu beachten

1) Derselbe Schlüssel darf nicht zweimal vorkommen. Wenn beim Erstellen derselbe Schlüssel zweimal zugewiesen wird, wird der spätere Wert gespeichert, wie im folgenden Beispiel:

Beispiel

#!/usr/bin/python3 tinydict = {'Name': 'Example', 'Alter': 7, 'Name': 'Kleiner Neuling'} print ("tinydict['Name']: ", tinydict['Name'])

Das obige Beispiel gibt aus:

tinydict['Name']:  小Example

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/python3 tinydict = {['Name']: 'Example', 'Age': 7} print ("tinydict['Name']: ", tinydict['Name'])

Das obige Beispiel gibt aus:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    tinydict = {['Name']: 'Example', 'Age': 7}
TypeError: unhashable type: 'list'


Integrierte Funktionen & Methoden von Dictionaries

Python-Dictionaries enthalten die folgenden integrierten Funktionen:

Nein.Funktion und BeschreibungBeispiel
1len(dict)
Zählt die Anzahl der Dictionary-Elemente, d. h. die Gesamtzahl der Schlüssel.
>>> tinydict = {'Name': 'Example', 'Age': 7, 'Class': 'First'}
>>> len(tinydict)
3
2str(dict)
Gibt das Dictionary als druckbare String-Darstellung aus.
>>> tinydict = {'Name': 'Example', 'Age': 7, 'Class': 'First'}
>>> str(tinydict)
"{'Name': 'Example', 'Class': 'First', 'Age': 7}"
3type(variable)
Gibt den Typ der Eingabevariable zurück. Wenn die Variable ein Dictionary ist, wird der Dictionary-Typ zurückgegeben.
>>> tinydict = {'Name': 'Example', 'Age': 7, 'Class': 'First'}
>>> type(tinydict)
<class 'dict'>

Python-Dictionaries enthalten die folgenden integrierten Methoden:

Nein.Funktion und Beschreibung
1dict.clear()
Löscht alle Elemente im Dictionary
2dict.copy()
Gibt eine flache Kopie eines Dictionaries zurück
3dict.fromkeys()
Erstellt ein neues Dictionary, wobei Elemente in der Sequenz seq als Schlüssel des Dictionaries verwendet werden und val als Anfangswert für alle Schlüssel des Dictionaries dient
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 durch default festgelegte Standardwert zurückgegeben.
5key in dict
Gibt true zurück, wenn der Schlüssel im Dictionary dict enthalten ist, andernfalls false.
6dict.items()
Gibt ein View-Objekt als Liste zurück
7dict.keys()
Gibt ein View-Objekt zurück
8dict.setdefault(key, default=None)
Ähnlich wie get(), aber wenn der Schlüssel nicht im Dictionary vorhanden ist, wird der Schlüssel hinzugefügt und sein Wert auf default gesetzt.
9dict.update(dict2)
Aktualisiert die Schlüssel/Wert-Paare des Dictionaries dict2 in dict.
10dict.values()
Gibt ein View-Objekt zurück
11dict.pop(key[,default])
Löscht den zum Schlüssel gehörenden Wert im Dictionary und gibt den gelöschten Wert zurück.
12 dict.popitem()
Gibt das letzte Schlüssel-Wert-Paar im Dictionary zurück und löscht es.
Weitere Erweiterungen