logo

Standarddict in Python

Wörterbuch In Python handelt es sich um eine ungeordnete Sammlung von Datenwerten, die zum Speichern von Datenwerten wie einer Karte verwendet werden. Im Gegensatz zu anderen Datentypen, die nur einen einzelnen Wert als Element enthalten, enthält das Wörterbuch ein Schlüssel-Wert-Paar. Im Dictionary muss der Schlüssel eindeutig und unveränderlich sein. Das bedeutet, dass ein Python-Tupel ein Schlüssel sein kann, eine Python-Liste hingegen nicht. Ein Wörterbuch kann erstellt werden, indem eine Folge von Elementen in geschweifte Klammern {} gesetzt und durch „Komma“ getrennt wird.

Beispiel:



Python3






# Python program to demonstrate> # dictionary> > > Dict> => {>1>:>'Geeks'>,>2>:>'For'>,>3>:>'Geeks'>}> print>(>'Dictionary:'>)> print>(>Dict>)> print>(>Dict>[>1>])> > # Uncommenting this print(Dict[4])> # will raise a KeyError as the> # 4 is not present in the dictionary>



>

>

Ausgabe:

Dictionary: {1: 'Geeks', 2: 'For', 3: 'Geeks'} Geeks>
Traceback (most recent call last): File '/home/1ca83108cc81344dc7137900693ced08.py', line 11, in print(Dict[4]) KeyError: 4>

Wenn der KeyError ausgelöst wird, kann es manchmal zu einem Problem kommen. Um dieses Problem zu lösen, führt Python einen weiteren wörterbuchähnlichen Container ein, der als bekannt ist Standarddikt die im Sammlungsmodul vorhanden ist.
Notiz: Weitere Informationen finden Sie unter Python-Wörterbuch .

DefaultDict

Standarddikt ist ein Container wie Wörterbücher im Modul vorhanden Sammlungen . Defaultdict ist eine Unterklasse der Wörterbuchklasse, die ein wörterbuchähnliches Objekt zurückgibt. Die Funktionalität von Wörterbüchern und defaultdict ist nahezu identisch, mit der Ausnahme, dass defaultdict niemals einen KeyError auslöst. Es stellt einen Standardwert für den Schlüssel bereit, der nicht vorhanden ist.

Syntax: defaultdict(default_factory)
Parameter:

kostenlose ipconfig
    default_factory: Eine Funktion, die den Standardwert für das definierte Wörterbuch zurückgibt. Fehlt dieses Argument, löst das Wörterbuch einen KeyError aus.

Beispiel:

Python3




# Python program to demonstrate> # defaultdict> > > from> collections>import> defaultdict> > > # Function to return a default> # values for keys that is not> # present> def> def_value():> >return> 'Not Present'> > # Defining the dict> d>=> defaultdict(def_value)> d[>'a'>]>=> 1> d[>'b'>]>=> 2> > print>(d[>'a'>])> print>(d[>'b'>])> print>(d[>'c'>])>

>

>

Ausgabe:

1 2 Not Present>

Innere Funktionsweise von defaultdict

Defaultdict fügt zusätzlich zu den Standard-Wörterbuchoperationen eine beschreibbare Instanzvariable und eine Methode hinzu. Die Instanzvariable ist der Parameter default_factory und die bereitgestellte Methode ist __missing__.

    Default_factory: Es handelt sich um eine Funktion, die den Standardwert für das definierte Wörterbuch zurückgibt. Fehlt dieses Argument, löst das Wörterbuch einen KeyError aus.
    Beispiel:

Python3


Android-Telefon-Einstellungsmenü



# Python program to demonstrate> # default_factory argument of> # defaultdict> > > from> collections>import> defaultdict> > > # Defining the dict and passing> # lambda as default_factory argument> d>=> defaultdict(>lambda>:>'Not Present'>)> d[>'a'>]>=> 1> d[>'b'>]>=> 2> > print>(d[>'a'>])> print>(d[>'b'>])> print>(d[>'c'>])>

>

>

Ausgabe:

1 2 Not Present>
    __missing__(): Diese Funktion wird verwendet, um den Standardwert für das Wörterbuch bereitzustellen. Diese Funktion verwendet default_factory als Argument. Wenn dieses Argument None ist, wird ein KeyError ausgelöst, andernfalls wird ein Standardwert für den angegebenen Schlüssel bereitgestellt. Diese Methode wird grundsätzlich von der Methode __getitem__() der Klasse dict aufgerufen, wenn der angeforderte Schlüssel nicht gefunden wird. __getitem__() erhöht den von __missing__() zurückgegebenen Wert oder gibt ihn zurück. Methode.
    Beispiel:

Python3




# Python program to demonstrate> # defaultdict> > > from> collections>import> defaultdict> > > # Defining the dict> d>=> defaultdict(>lambda>:>'Not Present'>)> d[>'a'>]>=> 1> d[>'b'>]>=> 2> > # Provides the default value> # for the key> print>(d.__missing__(>'a'>))> print>(d.__missing__(>'d'>))>

>

>

Ausgabe:

Python filtern
Not Present Not Present>

Verwenden von List als default_factory

Wenn die Listenklasse als Argument „default_factory“ übergeben wird, wird ein Standarddikt mit den Listenwerten erstellt.
Beispiel:

Python3




# Python program to demonstrate> # defaultdict> > > from> collections>import> defaultdict> > > # Defining a dict> d>=> defaultdict(>list>)> > for> i>in> range>(>5>):> >d[i].append(i)> > print>(>'Dictionary with values as list:'>)> print>(d)>

>

>

Ausgabe:

Dictionary with values as list: defaultdict(, {0: [0], 1: [1], 2: [2], 3: [3], 4: [4]})>

Verwendung von int als default_factory

Wenn die int-Klasse als Argument default_factory übergeben wird, wird ein defaultdict mit dem Standardwert Null erstellt.
Beispiel:

Python3




# Python program to demonstrate> # defaultdict> > > from> collections>import> defaultdict> > > # Defining the dict> d>=> defaultdict(>int>)> > L>=> [>1>,>2>,>3>,>4>,>2>,>4>,>1>,>2>]> > # Iterate through the list> # for keeping the count> for> i>in> L:> > ># The default value is 0> ># so there is no need to> ># enter the key first> >d[i]>+>=> 1> > print>(d)>

>

Schauspieler Rekha

>

Ausgabe:

defaultdict(, {1: 2, 2: 3, 3: 1, 4: 2})>