Python oferuje wiele wbudowanych struktur danych, takich jak listy, krotki i słowniki, do efektywnego zapisywania danych i zarządzania danymi. Słowniki zapewniają łatwy sposób zapisywania danych jako pary wartości kluczowej. Klucz działa jako indeks i służy do pobierania danych. Klucze powinny być wyjątkowe i niezmienne w całym słowniku. Klucze to głównie ciągi i liczby całkowite, chociaż wartość klucza może być dowolnego typu, taka jak liczba całkowita, ciąg, liczba zmiennoprzecinkowa lub liczba złożona. Tymczasem słownik może zawierać kolekcję, taką jak lista, krotek lub inny rodzaj słownika. Słownik w Pythonie jest tworzony przy użyciu pary kręconych nawiasów, w których każda para kluczowej jest oddzielona przecinkiem.
Co jeśli spróbujesz uzyskać dostęp lub zmodyfikować konkretny klucz w słowniku, który nie istnieje? Cóż, w tym przypadku interpreter Python podniesie błąd „Keyerror” i zakończy wykonanie programu.
Spójrzmy na przykład błędu „Keyerror”.
#Ukształcenie słownikaWyjście
Aby poradzić sobie z tym błędem, Python zapewnia typ Defaultdict, klasę słownika, którą można znaleźć w module kolekcji. Ten artykuł zawiera szczegółowo Python Defaultdict.
Wyjaśnienie i przykłady niewydolności
Defaultdict jest alternatywą dla słownika Pythona. Zwraca obiekty typu słownika. Defaultdict to podklasa. W przypadku brakującego klucza, zamiast podnoszenia błędu „Keyerror”, wartość domyślna jest przewidziana dla nieistniejącego klucza. Składnia Defaultdict jest następująca:
Defaultdict (Default_Factory)Funkcja Defaultdict bierze parametr DEFAULT_Factory jako argument. Funkcja Default_Factory zwraca wartość domyślną dla zdefiniowanego Defaultdict. Jeśli spróbujemy uzyskać dostęp lub zmodyfikujemy, którego brakuje, wówczas funkcja default_factory zwraca wartość domyślną jako wynik. Jeśli brakuje funkcji DEFAULT_Factory, Defaultdic podniesie błąd „Keyerror”, jeśli brakuje kluczy.
Najpierw zaimplementujemy Defaultdic w naszym skrypcie Python, aby uzyskać dostęp do zarówno istniejących, jak i brakujących kluczy.
#Wprowadź Defaultdict z modułu kolekcjiWyjście
[4] jest brakującym kluczem. Zamiast podnieść błąd „Keyerror”, wywołuje funkcję DEFAULT_Factory, która zwraca wartość domyślną.
Funkcja Lambda, znana jako funkcja anonimowa, może być również używana jako parametr DEFAULT_Factory.
Następnie zaimplementujemy funkcję Lambda i przekazamy ją jako argument do Defaultdict.
#Wprowadź Defaultdict z modułu kolekcjiDefaultdict wywołuje default_factory, aby podać wartość domyślną, ale funkcja __missing () __ zapewnia wartość domyślną. Funkcja __missing () __ jest wbudowaną funkcją w Pythonie, która przyjmuje parametr DEFAULT_Factory jako argument. Jeśli parametr default_factory nie jest zdefiniowany, funkcja __missing () __ wznosi błąd „keyerror”.
Tutaj użyjemy funkcji __missing () __ w naszym skrypcie Python.
#Wprowadź Defaultdict z modułu kolekcjiWyjście
Klasy listy i int można również użyć jako parametry_factory default_factory z Defaultdict.
Lista jako parametr default_factory
Defaultdict jest tworzony z wartościami listy, gdy klasa listy jest przekazywana parametrem DEFAULT_Factory.
#Wprowadź Defaultdict z modułu kolekcjiWyjście
Dane wyjściowe pokazuje wartości na liście. Jak widać, utworzono Defaultdict, który zawiera klucz i wartości.
Liczby całkowite jako parametr default_factory
Jeśli przekazamy klasę INT jako parametr DEFAULT_Factory, możemy utworzyć Defaultdict, który zawiera tylko liczby całkowite. Utworzymy listę liczb całkowitych, a następnie zapiszemy ją na Defaultdict.
#Wprowadź Defaultdict z modułu kolekcjiWyjście
W danym wyjściu wartości liczb całkowitych przed okrężnicą (:) są klawiszami, podczas gdy wartości liczb całkowity.
Wniosek
Dafaltdict to klasa podobna do słownika obecna w module kolekcji. Działa jak słownik Pythona, ale nie podnosi „Keyerror”, gdy nie znaleziono klucza. W tym artykule szczegółowo wyjaśniono defaultdict z różnymi przykładami.