Möchten Sie lernen, wie Sie mit Python-Wörterbüchern arbeiten? Dieses Tutorial behandelt Methoden des Python-Wörterbuchs zum Lesen, Ändern und Ausführen anderer gängiger Operationen in Python-Wörterbüchern.
Wir beginnen mit der Wiederholung der Grundlagen von Python-Wörterbüchern und erstellen dann ein Beispielwörterbuch und ändern es mithilfe von Python-Wörterbuchmethoden.
Lass uns anfangen…
Ein Überblick über Python-Wörterbücher
Wörterbücher sind eingebaute Datenstrukturen in Python. Sie können Elemente in Schlüssel-Wert-Paaren speichern und eine Zuordnung oder Zuordnung zwischen den Schlüsseln und Werten definieren.
Die Schlüssel in einem Wörterbuch sollten eindeutig sein (damit sie es sind hashbar). Sie können den Schlüssel verwenden, um den Wert nachzuschlagen, oder integrierte Methoden verwenden (Sie werden sie in Kürze lernen).
Beim Erstellen eines Python-Wörterbuchs können Sie alle Schlüssel-Wert-Paare initialisieren oder ein leeres Wörterbuch initialisieren und dann die Schlüssel-Wert-Paare hinzufügen.
>>> dict1 = {'language':'Python','like':True}
>>> type(dict1)
<class 'dict'>
# or we can do the following:
>>> dict1 = {}
>>> dict1['language']='Python'
>>> dict1['like']=True
Python-Wörterbuchmethoden für allgemeine Operationen
HinweisHinweis: Um den Codebeispielen folgen zu können, muss Python 3.7 oder eine neuere Version installiert sein.
Sie können in einer Python-REPL mitcodieren. Oder folgen Sie Geekflare's Online-Python-Editor.
>>> person = {'name':'Alice',
... 'city':'Portland',
... 'interest':'Programming',
... 'profession':'Developer'
... }
Nachdem wir nun ein Python-Wörterbuch initialisiert haben, beginnen wir damit, die verschiedenen Wörterbuchmethoden durchzugehen.
Get the Dictionary Keys with keys()
Eine der häufigsten Operationen bei der Arbeit mit einem Python-Wörterbuch besteht darin, auf alle Schlüssel, Werte und Schlüssel-Wert-Paare zuzugreifen. Um die Schlüssel eines Wörterbuchs zu erhalten, können Sie die anrufen keys()
Methode wie gezeigt:
>>> person.keys()
dict_keys(['name', 'city', 'interest', 'profession'])
Get the Dictionary Values with values()
Das values()
-Methode gibt alle Werte zurück und ist nützlich, wenn Sie diese Werte weiterverarbeiten möchten.
Lassen Sie uns auf alle Werte in der zugreifen person
Wörterbuch:
>>> person.values()
dict_values(['Alice', 'Portland', 'Programming', 'Developer'])
Get Key-Value Pairs with items()
Das items()
-Methode gibt eine Liste von Schlüsselwert-Tupeln zurück. Daher ist das Aufrufen dieser Methode für die person
dictionary gibt eine Liste von Schlüsselwert-Tupeln zurück:
>>> person.items()
dict_items([('name', 'Alice'), ('city', 'Portland'), ('interest', 'Programming'),
('profession', 'Developer')])
Get a Shallow Copy with copy()

Das copy()
Methode gibt a zurück flache Kopie eines Python-Wörterbuchs.
>>> person_cpy = person.copy()
Hier person_cpy
ist eine flache Kopie der person
Wörterbuch. Lassen Sie uns diese Kopie ändern, indem wir den Schlüssel „Name“ auf „Bob“ aktualisieren.
>>> person_cpy['name'] = 'Bob'
>>> person_cpy
Wenn Sie nun den Inhalt des Wörterbuchs untersuchen, können Sie sehen, dass der „Name“ auf „Bob“ aktualisiert wurde.
{
'name': 'Bob',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer'
}
Allerdings das Original person
Wörterbuch wurde nicht geändert.
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer'
}
Set Default Values with setdefault()
Bei der Arbeit mit Python-Wörterbüchern kommt es häufig vor KeyError
Ausnahme, wenn der Schlüssel nicht im Wörterbuch vorhanden ist. Hier ist ein Beispiel, wenn wir versuchen, auf den Schlüssel „Alter“ zuzugreifen:
>>> person['age']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'age'
Sie können solche Fehler vermeiden, indem Sie die integrierten Methoden verwenden setdefault()
funktioniert get()
Methoden, anstatt wie oben auf den Wert zuzugreifen.
Das setdefault(key)
Methode gibt zurück dict['key']
wenn der Schlüssel in der vorhanden ist dict
.
>>> person.setdefault('name')
'Alice'
Wenn der Schlüssel nicht vorhanden ist, fügt es den Schlüssel mit dem Standardwert von zum Wörterbuch hinzu None
.
>>> person.setdefault('address')
>>> person
Hier fehlt der Schlüssel „Adresse“. person
Wörterbuch. Aber wir sehen, dass es mit dem Standardwert von hinzugefügt wurde None
.
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': None
}
Wir können jetzt den 'address'-Schlüssel auf eine Adresse setzen:
>>> person['address'] = "10, xyz street"
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street'
}
Sie können den Wert auch wie gezeigt im Methodenaufruf angeben:
>>> person.setdefault('country','USA')
'USA'
>>> person
Da der 'Land'-Schlüssel ursprünglich nicht in der vorhanden ist person
Wörterbuch sehen wir, dass es mit „USA“ als Wert hinzugefügt wurde.
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA'
}
Get a Specific Value with get()
Das get()
Die Methode gibt den Wert zurück, der dem Schlüssel entspricht. Es auch optional nimmt einen anderen Standardwert, der zurückgegeben wird, wenn der Schlüssel ist nicht gefunden im Wörterbuch.
Wenn wir versuchen, auf den Wert des Schlüssels „Name“ zuzugreifen, erhalten wir „Alice“, da der Schlüssel vorhanden ist person
:
>>> person.get('name')
'Alice'
Das person
Wörterbuch hat keine 'gpa'-Taste. Wenn wir also versuchen, seinen Wert abzurufen, erhalten wir bei Python REPL nichts. Wenn Sie jedoch den Wert ausdrucken, erhalten Sie None
.
>>> person.get('gpa')
>>> print(person.get('gpa'))
None
Wenn Sie jedoch den optionalen Standardwert angeben, erhalten wir diesen Wert anstelle von None
.
>>> person.get('gpa','not found')
'not found'
Allerdings ist die get()
-Methode fügt den 'gpa'-Schlüssel nicht zum Wörterbuch hinzu.
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA'
}
setdefault() vs. get() verstehen
Obwohl beide setdefault()
funktioniert get()
Methoden verwendet werden können, um KeyError zu behandeln, fassen wir die Unterschiede zu dem zusammen, was wir gelernt haben:
dict.setdefault(key,val)
fügt die hinzukey
mitval
als Standardwert. Wennval
ist nicht vorgesehen, diekey
wird mit dem Standardwert von hinzugefügtNone
.dict.get(key,val)
gibt den Wert zurück, der dem Schlüssel aus dem Python-Wörterbuch entspricht. Wenn diekey
nicht vorhanden ist, kehrt es zurückval
(sofern vorhanden) bzwNone
-aber fügt nicht hinzukey
zum Wörterbuch.
Sie können auch Standarddict in Python KeyErrors besser handhaben zu können.
Update Dictionary Contents with update()
Sie können ein vorhandenes Python-Wörterbuch mit Schlüssel-Wert-Paaren aus einem anderen Wörterbuch aktualisieren. Sie können auch mit dem Inhalt eines beliebigen Python-Iterables aktualisieren, indem Sie die verwenden update()
Methode.
Definieren wir a more_details
Wörterbuch. Wir aktualisieren dann die person
Wörterbuch mit Inhalten aus dem more_details
Wörterbuch:
>>> more_details = {'hobby':'singing', 'likes':'sweets'}
>>> person.update(more_details)
Aus der Ausgabe unten sehen wir, dass die Schlüssel „Hobby“ und „Gefällt mir“ zur hinzugefügt wurden person
Wörterbuch.
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA',
'hobby': 'singing',
'likes': 'sweets'
}
Remove the Last-Added Item with popitem()

Das popitem()
Dictionary-Methode kann verwendet werden, um das zuletzt hinzugefügte Schlüssel-Wert-Paar zu entfernen.
>>> person.popitem()
('likes', 'sweets')
Wie gesehen, Aufruf der popitem()
-Methode für das Personenwörterbuch gibt das Schlüsselwertpaar („Gefällt mir“, „Süßigkeiten“) zurück – das zuletzt hinzugefügte Element im Wörterbuch.
Außerdem wird das Schlüssel-Wert-Paar entfernt. Sie können dies bestätigen, indem Sie den Inhalt des Wörterbuchs untersuchen:
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA',
'hobby': 'singing'
}
Remove a Dictionary Item with pop()
Wir wissen das das popitem()
dictionary-Methode entfernt das letzte Schlüssel-Wert-Paar in einem Python-Wörterbuch und gibt es zurück. Es kann jedoch vorkommen, dass wir andere Elemente entfernen müssen – außer dem zuletzt hinzugefügten Schlüssel-Wert-Paar.
Dazu können wir die Methode des Python-Wörterbuchs verwenden pop()
: verwenden .pop(key)
im Wörterbuch gibt den Wert zurück, der dem entspricht key
und entfernt auch das Schlüssel-Wert-Paar aus dem Wörterbuch.
Hier ist ein Beispiel:
>>> person.pop('hobby')
'singing'
Als wir das Element, das dem Schlüssel „Hobby“ entspricht, aufpoppten, sehen wir, dass es nicht mehr im Wörterbuch vorhanden ist.
>>> person
{
'name': 'Alice',
'city': 'Portland',
'interest': 'Programming',
'profession': 'Developer',
'address': '10, xyz street',
'country': 'USA'
}
Wenn wir einen Schlüssel übergeben, der nicht existiert, stoßen wir darauf KeyError
Ausnahme, wie gezeigt:
>>> person.pop('age')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'age'
Hier treffen wir auf eine KeyError
Ausnahme, da der Schlüssel „Alter“ im Personenwörterbuch nicht vorhanden ist.
im Gegensatz zu den Liste pop()
Methode Dadurch wird standardmäßig das letzte Element entfernt, das Wörterbuch pop()
Methode erfordert ein Schlüssel. Wenn Sie in der Methode keinen Schlüssel angeben, treten Fehler auf.
>>> person.pop()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: pop expected at least 1 argument, got 0
Delete All Dictionary Items with clear()
Das Wörterbuch pop()
funktioniert popitem()
Methoden entfernen jeweils ein Schlüssel-Wert-Paar. Wenn Sie alle Elemente in einem Wörterbuch löschen möchten, können Sie die verwenden clear()
Methode.
>>> person.clear()
>>> person
{}
Wie gesehen, Aufruf der clear()
Methode auf der person
Dictionary entfernt alle Schlüssel-Wert-Paare und die person
Wörterbuch ist jetzt leer.
Zusammenfassung der Methoden des Python-Wörterbuchs

Hier ist ein kurzer Überblick über die Methoden des Python-Wörterbuchs, die wir gelernt haben.
Versandart | Syntax | Beschreibung |
---|---|---|
Schlüssel() | dict1.keys() | Gibt die Schlüssel von zurück dict1 |
Werte () | dict1.values() | Gibt die Werte von zurück dict1 |
Artikel() | dict1.items() | Gibt eine Liste aller Schlüssel-Wert-Paare in zurück dict1 |
copy () | dict1.copy() | Gibt eine flache Kopie von zurück dict1 |
setdefault() | dict1.setdefault(key, default_value) | - Fügt hinzu key mit der optionalen default_value als Schlüssel zu dict1 (Wenn nicht angegeben, ist der Standardwert None )- Kehrt zurück dict1[key] wenn die key ist bereits vorhanden |
get () | dict1.get(key,default_value) | - Kehrt zurück dict1[key] wenn Schlüssel vorhanden ist dict1 ; Andernfalls gibt die zurück default_value - Falls key ist nicht vorhanden in dict1 funktioniert default_value nicht angegeben ist, wird zurückgegeben None |
update () | dict1.update(iterable1) | Updates dict1 mit Schlüssel-Wert-Paaren von iterable1 |
popitem() | dict1.popitem() | Entfernt das letzte Schlüssel-Wert-Paar aus und gibt es zurück dict1 |
Pop() | dict1.pop(key) | – Entfernt und gibt den Wert zurück, der dem entspricht key : dict1[key] – Hebt a KeyError wenn der Schlüssel nicht vorhanden ist dict1 |
klar() | dict1.clear() | Löscht alle Elemente aus dict1 |
Fazit
Sie haben gelernt, wie Sie gängige Methoden verwenden, um Lese-, Aktualisierungs- und Löschvorgänge in Python-Wörterbüchern durchzuführen. Darüber hinaus erfuhren Sie auch, wie die get()
und dem setdefault()
Methoden können verwendet werden, um damit umzugehen KeyError
Ausnahmen durch Zurückgeben eines Standardwerts bzw. Hinzufügen eines Eintrags mit einem Standardwert zum Python-Wörterbuch. Du kannst auch Sortieren Sie ein Python-Wörterbuch nach Schlüssel oder nach Wert.
Als nächstes sehen Sie sich die Liste der nützlichen an Python-Listenmethoden. Viel Spaß beim Codieren!