dict. get()
Zwraca wartość dla klucza albo wartość domyślną, gdy klucza nie ma w słowniku.
- Zwraca
- Wartość przypisaną do klucza albo
default. - Zmienia oryginał
- Nie
Przykład
#student = {"name": "Ania", "points": 1240}
print(student.get("name"))
print(student.get("level"))
print(student.get("level", 1))
print(student)Definicja i zastosowanie
#Metoda get(klucz) odczytuje wartość ze słownika podobnie jak nawiasy kwadratowe, ale nie zgłasza błędu, gdy klucza brakuje. Zamiast KeyError zwraca None albo wartość podaną jako drugi argument.
Dzięki temu dobrze sprawdza się przy danych, w których część pól jest opcjonalna, na przykład w ustawieniach użytkownika czy odpowiedziach z API. Zapis settings.get("theme", "dark") od razu określa wartość zastępczą.
Metoda tylko czyta i nie dodaje brakującego klucza do słownika. Jeśli chcesz przy okazji zapisać wartość domyślną, użyj setdefault(). Pamiętaj też, że get() nie odróżni braku klucza od klucza z wartością None. Do tego służy operator in.
Składnia
#slownik.get(key, default=None)Parametry
#key
klucz słownika
Klucz, którego wartość chcesz odczytać.default
opcjonalny, domyślnie None
Wartość zwracana, gdy klucza nie ma w słowniku.
Więcej przykładów
#settings = {"theme": "dark"}
try:
print(settings["lang"])
except KeyError as error:
print("KeyError:", error)
print(settings.get("lang", "pl"))answers = ["B", "A", "B", "C", "B"]
counts = {}
for answer in answers:
counts[answer] = counts.get(answer, 0) + 1
print(counts)Dobre praktyki
#- Nawiasy kwadratowe stosuj dla kluczy, które muszą istnieć, bo ich brak to błąd wart zauważenia.
get()zostaw dla pól opcjonalnych. - Wartość domyślna jest obliczana przed wywołaniem metody, nawet gdy klucz istnieje. Kosztownych obliczeń nie umieszczaj w
get(), tylko w warunku zin. - Do zliczania wystąpień wygodniejszy jest
collections.Counter, a do grupowaniacollections.defaultdict.
Powiązane hasła
#- dict.setdefault()Zwraca wartość klucza, a gdy go brakuje, najpierw zapisuje w słowniku wartość domyślną.
- dict.pop()Usuwa klucz ze słownika i zwraca jego wartość, opcjonalnie z wartością zastępczą.
- dict.keys()Zwraca widok kluczy słownika, który zawsze pokazuje jego aktualną zawartość.
- collections.defaultdictSłownik, który dla brakującego klucza sam tworzy wartość domyślną, np. pustą listę lub zero.
- dict()Tworzy słownik z par klucz–wartość lub argumentów nazwanych.
Widzisz błąd albo brakuje przykładu? Napisz do nas.