dict.get to metoda słowników w Pythonie, która pozwala bezpiecznie pobierać wartość powiązaną z określonym kluczem. Służy do uniknięcia błędu KeyError, gdy klucz nie istnieje – zamiast tego zwraca wartość domyślną (domyślnie None). Idealna do czytelnego i odpornego na błędy kodu, szczególnie w przetwarzaniu danych.
Przykład w e-commerce
# Przykładowy słownik z danymi zamówień e-commerce
zamowienia = {
'klient_123': {'produkt': 'Laptop', 'ilosc': 1, 'wartosc': 4500},
'klient_456': {'produkt': 'Smartfon', 'ilosc': 2, 'wartosc': 3200},
'klient_789': {'produkt': 'Słuchawki', 'ilosc': 1, 'wartosc': 800}
}
# Pobieramy wartość zamówienia dla klienta, który nie istnieje
wartosc_zamowienia = zamowienia.get('klient_999', 0) # zwraca 0
# Analiza: obliczamy średnią wartość zamówień
suma_wartosci = 0
liczba_zamowien = 0
for klient, dane in zamowienia.items():
wartosc = dane.get('wartosc', 0) # bezpieczne pobieranie
if wartosc > 0:
suma_wartosci += wartosc
liczba_zamowien += 1
srednia_wartosc = suma_wartosci / liczba_zamowien if liczba_zamowien > 0 else 0
print(f"Średnia wartość zamówienia: {srednia_wartosc:.2f} zł")
Zastosowanie
Kiedy używać dict.get:
- Gdy klucze mogą nie istnieć w słowniku, np. w danych z API e-commerce lub logach transakcji.
- Zamiast if klucz in dict, co skraca kod i poprawia czytelność.
- W analizie danych, gdzie dane są niekompletne – podajesz domyślną wartość, unikając wyjątków.
- Walidacja danych wejściowych: Pobierz metryki jak 'przychod' lub 'rabat' bez crashu.
- Agregacja statystyk: Sumuj wartości z wielu słowników, ignorując brakujące.
- Integracje zewnętrzne: Obsługuj odpowiedzi JSON z opcjonalnymi polami.
Podsumowanie
dict.get to jedna z tych małych rzeczy, które w realnych projektach e-commerce i data science ratują dosłownie godziny debugowania. W świecie niekompletnych danych z API, logów i eksportów z systemów zewnętrznych staje się absolutnie nieodzowna.