List Comprehension ist ein praktischer und schneller Weg, um Listen in Python in nur einer einzigen Codezeile zu erstellen. Es hilft uns, einfach zu lesende for-Schleifen in einer einzigen Zeile zu schreiben.
In Python ist Dictionary eine Datenstruktur, um Daten so zu speichern, dass jedes Element der gespeicherten Daten mit einem Schlüssel verbunden ist. Mit der Dictionary-Datenstruktur können Sie die Daten sehr effizient über den Schlüssel abfragen.
Die Idee des Verstehens ist nicht nur für Listen in Python einzigartig. Wörterbücher, eine der am häufigsten verwendeten Datenstrukturen in der Datenwissenschaft, können ebenfalls verstehen. Mit dict comprehension oder dictionary comprehension kann man leicht Wörterbücher erstellen.
Erinnern Sie sich, dass in Python eine Liste mit eckigen Klammern und ein Wörterbuch mit geschweiften Klammern {} definiert wird. Die Idee, die beim Listenverständnis verwendet wird, wird auch bei der Definition des Diktatverstehens übernommen. Das Diktatverständnis wird mit einer ähnlichen Syntax definiert, aber mit einem Schlüssel:Wert-Paar im Ausdruck.
- {Schlüssel:Wert für i in Liste}
Lassen Sie uns 5 einfache Beispiele für die Verwendung des Diktatverständnisses sehen, um neue Wörterbücher einfach zu erstellen.
Ein sechstes Beispiel des Diktatverständnisses wurde hinzugefügt, um Schlüssel in einem Wörterbuch zu löschen.
Dict Comprehension Beispiel 1
Lassen Sie uns ein schnelles Beispiel für die Erstellung eines Dict Comprehension aus einer Liste von Zahlen sehen.
Hier lassen Sie uns eine Liste von Zahlen verwenden und ein Wörterbuch mit dem String-Wert der Zahl als Schlüssel und der Zahl als Wert erstellen.
# dict comprehension to create dict with numbers as values>{str(i):i for i in }{'1': 1, '3': 3, '2': 2, '5': 5, '4': 4}
Dict Comprehension Beispiel 2
Sagen wir, wir haben eine Liste von Früchten und wir können das Diktatverständnis verwenden, um ein Wörterbuch mit Früchten, den Listenelementen als Schlüssel und der Länge jedes Strings als Wert zu erstellen.
# create list of fruits>fruits = # dict comprehension to create dict with fruit name as keys>{f:len(f) for f in fruits}{'cherry': 6, 'mango': 5, 'apple': 5, 'banana': 6}
Beispiel 3 für Diktatverständnis
Lassen Sie uns ein Wörterbuch mit Diktatverständnis so erstellen, dass die Elemente der Liste die Schlüssel und die Elemente mit dem ersten großgeschriebenen Buchstaben die Werte sind.
>{f:f.capitalize() for f in fruits}{'cherry': 'Cherry', 'mango': 'Mango', 'apple': 'Apple', 'banana': 'Banana'}
Beispiel 4 für Diktatverständnis
Lassen Sie uns die Funktion enumerate im Wörterbuchverständnis verwenden. Falls Sie enumerate noch nicht benutzt haben: enumerate kann jedes beliebige iterierbare Element als Eingabe nehmen und gibt dessen Index zurück.
Hier benutzen wir die Funktion enumerate für die Liste, um Index- und Listenelementtupel zu erstellen und sie zu benutzen, um ein Wörterbuch mit dict comprehension zu erstellen. Wir erstellen ein Wörterbuch mit den Elementen der Liste als Schlüssel und dem Index der Elemente als Wert. Solche Wörterbücher mit Element-Index sind oft in einer Vielzahl von Szenarien nützlich.
# dict comprehension example using enumerate function>{f:i for i,f in enumerate(fruits)}{'cherry': 3, 'mango': 1, 'apple': 0, 'banana': 2}
Dict Comprehension Beispiel 5
Eine weitere Anwendung von dict comprehension ist die Umkehrung von Schlüssel:Wert in einem bestehenden Wörterbuch. Manchmal möchte man ein neues Wörterbuch aus einem bestehenden Verzeichnis erstellen, so dass die Rolle des Schlüssel:Wert-Paares im ersten Wörterbuch im neuen Wörterbuch umgekehrt wird. Wir können Dict Comprehension verwenden und das Element zum Index-Wörterbuch zum Index zum Element-Wörterbuch umkehren.
# dict comprehension example to reverse key:value pair in a dictionary>f_dict = {f:i for i,f in enumerate(fruits)}>f_dict{'apple': 0, 'banana': 2, 'cherry': 3, 'mango': 1}# dict comprehension to reverse key:value pair in a dictionary>{v:k for k,v in f_dict.items()}{0: 'apple', 1: 'mango', 2: 'banana', 3: 'cherry'}
Wir haben die Funktion items von dictionaries verwendet, um Schlüssel:Wert-Paare in einem bestehenden Wörterbuch zu erhalten und ein neues Wörterbuch zu erstellen, bei dem die Schlüssel im ursprünglichen Wörterbuch Werte im neuen Wörterbuch sind und umgekehrt.
Dict Comprehension Beispiel 6: Wie löscht man ausgewählte Schlüssel aus dem Wörterbuch mit Dict Comprehension?
Angenommen, Sie haben ein Wörterbuch und möchten ein neues Wörterbuch erstellen, indem Sie bestimmte Schlüssel-Wert-Paare entfernen. Wir können Dict Comprehension verwenden, um ausgewählte Schlüssel-Wert-Paare aus einem Wörterbuch zu entfernen und ein neues Wörterbuch zu erstellen.
Benutzen wir das Wörterbuch „Obst“, das wir oben erstellt haben.
fruits = f_d1 ={f:f.capitalize() for f in fruits}f_d1
Benutzen wir Dict Comprehension, um zwei Schlüssel, Apfel und Banane, und ihre Werte aus dem Obst-Wörterbuch zu entfernen.
# keys to be removed>remove_this = {'apple','cherry'}# dict comprehension example to delete key:value pairs in a dictionary>{key:f_d1 for key in f_d1.keys() - remove_this}{'banana': 'Banana', 'mango': 'Mango'}
Wir haben die Schlüssel Apfel und Kirsche entfernt, indem wir einfach das Diktat-Schlüssel-Objekt mit Set-Operationen verwendet haben, und jetzt enthält das neue Wörterbuch nur Banane und Mango.