Das Wörterbuch ist eine ungeordnete Sammlung von Datenwerten in Python, die zum Speichern von Datenwerten wie Karten verwendet wird. Das Wörterbuch enthält Schlüssel-Wert-Paare und nicht wie andere Datentypen einen einzelnen Wert als Element. Der im Wörterbuch implementierte Schlüssel muss eindeutig und unveränderlich sein. Das heißt, das Python-Tupel kann ein Schlüssel sein, aber die Python-Liste kann kein Schlüssel im Wörterbuch sein. Wir können ein Wörterbuch erstellen, indem wir eine Folge von Elementen in die geschweiften Klammern {} einfügen. Ein Komma „,“ kann die Werte trennen.
Beispiel 1:
Dict_1 = {1: 'A', 2: 'B', 3: 'C', 4: 'D'} print ('Dictionary: ') print (Dict_1) print ('key pair 1: ', Dict_1[1]) print ('key pair 3: ', Dict_1[3])
Ausgabe:
Dictionary: {1: 'A', 2: 'B', 3: 'C', 4: 'D'} key pair 1: A key pair 3: C
Wenn wir jedoch versuchen, den 5. Schlüsselwert zu drucken, erhalten wir die Fehlermeldung, weil 'Dict_1' enthält nicht den 5. Schlüsselwert.
Beispiel 2:
Dict_1 = {1: 'A', 2: 'B', 3: 'C', 4: 'D'} print ('Dictionary: ') print (Dict_1) print ('key pair 5: ', Dict_1[5])
Ausgabe:
kostenlose ipconfig
Dictionary: {1: 'A', 2: 'B', 3: 'C', 4: 'D'} --------------------------------------------------------------------------- KeyError Traceback (most recent call last) in 2 print ('Dictionary: ') 3 print (Dict_1) ----> 4 print ('key pair 5: ', Dict_1[5]) KeyError: 5
Wann immer die Schlüsselfehler Wird eine Fehlermeldung angezeigt, kann dies zu einem Problem für die Benutzer werden. Wir können diesen Fehler beheben, indem wir ein anderes Python-Wörterbuch verwenden, das einem Container namens „ Standarddikt . Die Benutzer finden dieses Wörterbuch im 'Sammlungen' Modul.
defaultdict
Das Standarddikt ist ein Python-Wörterbuch, das wie ein Container im Modul „Sammlungen“ ist. Es handelt sich um eine Unterklasse der Wörterbuchklasse, die zur Rückgabe des wörterbuchähnlichen Objekts verwendet wird. Sowohl defaultdict als auch dictionary haben die gleiche Funktionalität, mit der Ausnahme, dass defaultdict niemals einen KeyError auslöst, da es einen Standardwert für den Schlüssel bereitstellt, der in dem vom Benutzer erstellten Dictionary nicht vorhanden ist.
Syntax:
defaultdict(default_factory)
Parameter:
Beispiel:
Android-Telefon-Einstellungsmenü
from collections import defaultdict as DD # Function for returning a default values for the # keys which are not present in the dictionary def default_value(): return 'This key is not present' # Now, we will define the dict dict_1 = DD(default_value) dict_1['ABC'] = 1 dict_1['DEF'] = 2 dict_1['GHI'] = 3 dict_1['JKL'] = 4 print ('Dictionary: ') print (dict_1) print ('key pair 1: ', dict_1['ABC']) print ('key pair 3: ', dict_1['GHI']) print ('key pair 5: ', dict_1['MNO'])
Ausgabe:
Dictionary: defaultdict(, {'ABC': 1, 'DEF': 2, 'GHI': 3, 'JKL': 4}) key pair 1: 1 key pair 3: 3 key pair 5: This key is not present
Innere Funktionsweise von defaultdict
Wenn wir defaultdict verwenden, erhalten wir zusätzlich zu den Standard-Wörterbuchoperationen eine zusätzliche beschreibbare Instanzvariable und eine Methode. Die beschreibbare Instanzvariable ist der Parameter default_factory und __fehlen__ ist die Methode.
Beispiel:
from collections import defaultdict as DD dict_1 = DD(lambda: 'This key is not present') dict_1['ABC'] = 1 dict_1['DEF'] = 2 dict_1['GHI'] = 3 dict_1['JKL'] = 4 print ('Dictionary: ') print (dict_1) print ('key value 1: ', dict_1['ABC']) print ('key value 3: ', dict_1['GHI']) print ('key value 5: ', dict_1['MNO'])
Ausgabe:
Dictionary: defaultdict(<function at 0x0000019efc4b58b0>, {'ABC': 1, 'DEF': 2, 'GHI': 3, 'JKL': 4}) key value 1: 1 key value 3: 3 key value 5: This key is not present </function>
Beispiel:
Python filtern
from collections import defaultdict as DD dict_1 = DD(lambda: 'This key is not present') dict_1['ABC'] = 1 dict_1['DEF'] = 2 dict_1['GHI'] = 3 dict_1['JKL'] = 4 print ('Dictionary: ') print (dict_1) print ('key value 1: ', dict_1.__missing__('ABC')) print ('key value 4: ', dict_1['JKL']) print ('key value 5: ', dict_1.__missing__('MNO'))
Ausgabe:
Dictionary: defaultdict(<function at 0x0000019efc4b5670>, {'ABC': 1, 'DEF': 2, 'GHI': 3, 'JKL': 4}) key value 1: This key is not present key value 4: 4 key value 5: This key is not present </function>
So verwenden Sie „Liste“ als Standardfabrik
Wir können eine Listenklasse als Argument „default_factory“ übergeben und sie erstellt ein Standarddikt mit den Werten, die im Listenformat festgelegt sind.
Beispiel:
Schauspieler Rekha
from collections import defaultdict as DD # Defining a dictionary dict_1 = DD(list) for k in range(7, 12): dict_1[k].append(k) print ('Dictionary with values as list:') print (dict_1)
Ausgabe:
Dictionary with values as list: defaultdict(, {7: [7], 8: [8], 9: [9], 10: [10], 11: [11]})
So verwenden Sie „int“ als default_factory
Wir können die int-Klasse als Argument „default_factory“ übergeben und es wird ein defaultdict erstellt, dessen Standardwert auf Null gesetzt ist.
Beispiel:
from collections import defaultdict as DD # Defining the dict dict_1 = DD(int) J = [1, 2, 3, 4, 2, 4, 1, 2] # Now, we will iterate through the list 'J' # for keeping the count for k in J: # As, The default value is 0 # so we do not need to # enter the key first dict_1[k] += 1 print(dict_1)
Ausgabe:
defaultdict(, {1: 2, 2: 3, 3: 1, 4: 2})
Abschluss
In diesem Tutorial haben wir „defaultdict“ in Python besprochen und wie wir mithilfe des Parameters „default_factory“ verschiedene Operationen für „defaultdict“ ausführen können.