dict. pop()
Usuwa klucz ze słownika i zwraca jego wartość, opcjonalnie z wartością zastępczą.
- Zwraca
- Wartość usuniętego klucza albo
default. - Zmienia oryginał
- Tak
Przykład
#user = {"name": "Kuba", "email": "kuba@example.com", "token": "a1b2c3"}
token = user.pop("token")
print(token)
print(user)
print(user.pop("token", "brak"))Definicja i zastosowanie
#Metoda pop(klucz) usuwa wpis ze słownika i zwraca wartość, która była pod tym kluczem. Przydaje się, gdy chcesz jednocześnie wyjąć dane i się ich pozbyć, na przykład przenieść pole do innej struktury albo usunąć je przed wysłaniem danych dalej.
Gdy klucza nie ma, pop() zgłasza KeyError. Jeśli podasz drugi argument, zostanie on zwrócony zamiast błędu, a słownik pozostanie bez zmian. Zapis data.pop("tmp", None) to bezpieczny sposób na usunięcie klucza, który może nie istnieć.
Pokrewne narzędzia to instrukcja del slownik[klucz], która usuwa wpis bez zwracania wartości, oraz metoda popitem(), która usuwa i zwraca ostatnio dodaną parę.
Składnia
#slownik.pop(key)
slownik.pop(key, default)Parametry
#key
klucz słownika
Klucz do usunięcia.default
opcjonalny
Wartość zwracana, gdy klucza nie ma. Bez niej brak klucza zgłaszaKeyError.
Więcej przykładów
#cart = {"HTML": 49}
try:
cart.pop("Python")
except KeyError as error:
print("KeyError:", error)queue = {"zadanie_1": "HTML", "zadanie_2": "CSS", "zadanie_3": "Python"}
print(queue.popitem())
del queue["zadanie_1"]
print(queue)Dobre praktyki
#- Klucz, który może nie istnieć, usuwaj przez
pop(klucz, None). Nie potrzebujesz wtedy ani warunku, ani blokutry. - Gdy wartość usuwanego klucza nie jest Ci potrzebna, krótszy jest zapis
del slownik[klucz].
Powiązane hasła
#- dict.get()Zwraca wartość dla klucza albo wartość domyślną, gdy klucza nie ma w słowniku.
- dict.update()Dopisuje do słownika pary z innego słownika lub argumentów, nadpisując istniejące klucze.
- list.pop()Usuwa element o podanym indeksie (domyślnie ostatni) i go zwraca.
- set.discard()Usuwa element ze zbioru, jeśli w nim jest. Brak elementu nie powoduje błędu.
- try, except, else, finallyObsługa wyjątków: przechwytywanie błędów bez przerywania programu.
Widzisz błąd albo brakuje przykładu? Napisz do nas.