10 nützliche Python-Wörterbuchmethoden

Möchten Sie lernen, wie Sie mit Python-Wörterbüchern arbeiten? Dieses Tutorial behandelt Python-Wörterbuchmethoden 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 hashbar sind). 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

Hinweis: 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 im Online-Python-Editor von wdzwdz.

>>> 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.

Holen Sie sich die Wörterbuchschlüssel mit 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 Methode keys() wie gezeigt aufrufen:

>>> person.keys()
dict_keys(('name', 'city', 'interest', 'profession'))

Holen Sie sich die Wörterbuchwerte mit values()

Die Methode values() gibt alle Werte zurück und ist nützlich, wenn Sie diese Werte weiterverarbeiten möchten.

Greifen wir auf alle Werte im Personenwörterbuch zu:

>>> person.values()
dict_values(('Alice', 'Portland', 'Programming', 'Developer'))

Schlüsselwertpaare mit Artikeln abrufen()

Die Methode items() gibt eine Liste von Schlüsselwert-Tupeln zurück. Daher gibt der Aufruf dieser Methode im Personenwörterbuch eine Liste von Schlüsselwert-Tupeln zurück:

>>> person.items()
dict_items((('name', 'Alice'), ('city', 'Portland'), ('interest', 'Programming'), 
           ('profession', 'Developer')))

Holen Sie sich eine flache Kopie mit copy()

Die Methode copy() gibt eine flache Kopie eines Python-Wörterbuchs zurück.

>>> person_cpy = person.copy()

Hier ist person_cpy eine flache Kopie des Personenwörterbuchs. 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'
}

Das ursprüngliche Personenwörterbuch wurde jedoch nicht geändert.

>>> person
{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer'
}

Setzen Sie Standardwerte mit setdefault()

Bei der Arbeit mit Python-Wörterbüchern tritt häufig eine KeyError-Ausnahme auf, 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 eingebauten Methoden setdefault() und get() verwenden, anstatt wie oben auf den Wert zuzugreifen.

  6 Beste Versand-API für Ihr Unternehmen, um Zeit und Geld zu sparen

Die setdefault(key)-Methode gibt dict(‚key‘) zurück, wenn der Schlüssel im dict vorhanden ist.

>>> person.setdefault('name')
'Alice'

Wenn der Schlüssel nicht vorhanden ist, wird der Schlüssel mit dem Standardwert None zum Wörterbuch hinzugefügt.

>>> person.setdefault('address')
>>> person

Hier ist der Schlüssel „Adresse“ im Personenwörterbuch nicht vorhanden. Aber wir sehen, dass es mit dem Standardwert None hinzugefügt wurde.

{
 '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 Schlüssel „Land“ ursprünglich nicht im Personenwörterbuch vorhanden ist, sehen wir, dass er mit „USA“ als Wert hinzugefügt wurde.

{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': '10, xyz street', 
 'country': 'USA'
}

Holen Sie sich einen bestimmten Wert mit get()

Die Methode get() gibt den Wert zurück, der dem Schlüssel entspricht. Es nimmt optional auch einen anderen Standardwert an, der zurückgegeben wird, wenn der Schlüssel nicht im Wörterbuch gefunden wird.

Wenn wir versuchen, auf den Wert des Schlüssels „name“ zuzugreifen, erhalten wir „Alice“, da der Schlüssel persönlich vorhanden ist:

>>> person.get('name')
'Alice'

Das Personenwörterbuch hat keinen ‚gpa‘-Schlüssel. 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'

Die get()-Methode fügt den ‚gpa‘-Schlüssel jedoch 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 sowohl die setdefault()- als auch die get()-Methode zur Behandlung von KeyError verwendet werden können, fassen wir die Unterschiede zu dem zusammen, was wir gelernt haben:

  • dict.setdefault(key,val) fügt den Schlüssel mit val als Standardwert hinzu. Wenn val nicht angegeben wird, wird der Schlüssel mit dem Standardwert None hinzugefügt.
  • dict.get(key,val) gibt den Wert zurück, der dem Schlüssel aus dem Python-Wörterbuch entspricht. Wenn der Schlüssel nicht vorhanden ist, wird val (falls angegeben) oder None zurückgegeben – der Schlüssel wird jedoch nicht zum Wörterbuch hinzugefügt.
  Mit diesen 6 Tools ist die Überwachung der Netzwerkbandbreite ganz einfach

Sie können defaultdict auch in Python verwenden, um KeyErrors besser zu behandeln.

Wörterbuchinhalte mit update() aktualisieren

Sie können ein vorhandenes Python-Wörterbuch mit Schlüssel-Wert-Paaren aus einem anderen Wörterbuch aktualisieren. Sie können auch mit Inhalten jeder iterierbaren Python-Datei aktualisieren, indem Sie die Methode update() verwenden.

Lassen Sie uns ein more_details-Wörterbuch definieren. Anschließend aktualisieren wir das Personenwö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 „likes“ zum Personenwörterbuch hinzugefügt wurden.

>>> person
{
 'name': 'Alice', 
 'city': 'Portland', 
 'interest': 'Programming', 
 'profession': 'Developer', 
 'address': '10, xyz street', 
 'country': 'USA', 
 'hobby': 'singing', 
 'likes': 'sweets'
}

Entfernen Sie das zuletzt hinzugefügte Element mit popitem()

Die Wörterbuchmethode popitem() kann verwendet werden, um das zuletzt hinzugefügte Schlüssel-Wert-Paar zu entfernen.

>>> person.popitem()
('likes', 'sweets')

Wie Sie sehen, gibt der Aufruf der popitem()-Methode für das Personenwörterbuch das Schlüssel-Wert-Paar (‚likes‘, ’sweets‘) 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'
}

Entfernen Sie ein Wörterbuchelement mit pop()

Wir wissen, dass die Wörterbuchmethode popitem() das letzte Schlüssel-Wert-Paar in einem Python-Wörterbuch entfernt und zurückgibt. 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 pop() des Python-Wörterbuchs verwenden: Die Verwendung von .pop(key) für das Wörterbuch gibt den Wert zurück, der dem Schlüssel entspricht, 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 wie gezeigt auf die KeyError-Ausnahme:

>>> person.pop('age')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'age'

Hier stoßen wir auf eine KeyError-Ausnahme, da der Schlüssel „Alter“ nicht im Personenwörterbuch vorhanden ist.

  8 Warnzeichen Ihr Mac könnte ein Problem haben (und wie man es behebt)

Im Gegensatz zur Methode list pop(), die standardmäßig das letzte Element entfernt, erfordert die Methode dictionary pop() einen 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

Löschen Sie alle Wörterbucheinträge mit clear()

Die Methoden pop() und popitem() des Wörterbuchs entfernen jeweils ein Schlüssel-Wert-Paar. Wenn Sie alle Elemente in einem Wörterbuch löschen möchten, können Sie die Methode clear() verwenden.

>>> person.clear()
>>> person
{}

Wie Sie sehen, werden durch Aufrufen der Methode clear() im Personenwörterbuch alle Schlüssel-Wert-Paare entfernt, und das Personenwö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.

MethodSyntaxDescriptionkeys()dict1.keys()Gibt die Schlüssel von dict1values() zurück dict1.values()Gibt die Werte von dict1items() zurück dict1.items()Gibt eine Liste aller Schlüssel-Wert-Paare in dict1copy() zurück dict1.copy() Gibt eine flache Kopie von dict1setdefault() zurück. dict1.setdefault(key, default_value) – Fügt Schlüssel mit dem optionalen default_value als Schlüssel zu dict1 hinzu (wenn nicht angegeben, ist der Standardwert None).
– Gibt dict1(key) zurück, wenn der Schlüssel bereits vorhanden istget()dict1.get(key,default_value)– Gibt dict1(key) zurück, wenn der Schlüssel in dict1 vorhanden ist; Andernfalls wird der default_value zurückgegeben
– Wenn key nicht in dict1 vorhanden ist und default_value nicht angegeben ist, gibt None zurückupdate()dict1.update(iterable1)Aktualisiert dict1 mit Schlüssel-Wert-Paaren aus iterable1popitem()dict1.popitem()Entfernt und gibt das letzte Schlüssel-Wert-Paar aus zurück dict1pop()dict1.pop(key)– Entfernt und gibt den Wert zurück, der dem Schlüssel entspricht: dict1(key)
– Löst einen KeyError aus, wenn der Schlüssel nicht in dict1clear() vorhanden ist. dict1.clear() Löscht alle Elemente aus dict1

Abschluss

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 haben Sie auch gelernt, wie die Methoden get() und setdefault() verwendet werden können, um KeyError-Ausnahmen zu behandeln, indem ein Standardwert zurückgegeben bzw. ein Eintrag mit einem Standardwert zum Python-Wörterbuch hinzugefügt wird. Sie können ein Python-Wörterbuch auch nach Schlüssel oder Wert sortieren.

Sehen Sie sich als Nächstes die Liste der nützlichen Python-Listenmethoden an. Viel Spaß beim Codieren!