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
Na tej stronie

Przykład

#
Python
user = {"name": "Kuba", "email": "kuba@example.com", "token": "a1b2c3"}

token = user.pop("token")
print(token)
print(user)
print(user.pop("token", "brak"))
Wynikzapisany wynik, możesz go sprawdzić
a1b2c3
{'name': 'Kuba', 'email': 'kuba@example.com'}
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

#
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łasza KeyError.

Więcej przykładów

#
Brak klucza bez wartości zastępczej
Python
cart = {"HTML": 49}

try:
    cart.pop("Python")
except KeyError as error:
    print("KeyError:", error)
Wynikzapisany wynik, możesz go sprawdzić
KeyError: 'Python'
popitem() i del
Python
queue = {"zadanie_1": "HTML", "zadanie_2": "CSS", "zadanie_3": "Python"}

print(queue.popitem())
del queue["zadanie_1"]
print(queue)
Wynikzapisany wynik, możesz go sprawdzić
('zadanie_3', 'Python')
{'zadanie_2': 'CSS'}

Dobre praktyki

#
  • Klucz, który może nie istnieć, usuwaj przez pop(klucz, None). Nie potrzebujesz wtedy ani warunku, ani bloku try.
  • Gdy wartość usuwanego klucza nie jest Ci potrzebna, krótszy jest zapis del slownik[klucz].

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.