set.discard()

Usuwa element ze zbioru, jeśli w nim jest. Brak elementu nie powoduje błędu.

Zwraca
None (zbiór zmienia się w miejscu).
Zmienia oryginał
Tak
Na tej stronie

Przykład

#
Python
online = {"Ania", "Kuba", "Ola"}

online.discard("Kuba")
online.discard("Iga")

print(sorted(online))
Wynikzapisany wynik, możesz go sprawdzić
['Ania', 'Ola']

Definicja i zastosowanie

#

Metoda discard(element) usuwa podany element ze zbioru. Gdy elementu nie ma, nic się nie dzieje, więc nie trzeba wcześniej sprawdzać, czy się w nim znajduje.

Jej odpowiednikiem jest remove(), która działa tak samo, ale przy braku elementu zgłasza KeyError. Wybierz remove(), gdy brak elementu oznacza błąd w programie, a discard(), gdy to normalna sytuacja.

Obie metody zmieniają zbiór w miejscu i zwracają None. Wiele elementów naraz usuniesz operatorem -= albo metodą difference_update(), a pop() usuwa i zwraca dowolny element.

Składnia

#
Składnia
zbior.discard(element)

Parametry

#
  • element

    wartość hashowalna

    Element do usunięcia.

Więcej przykładów

#
discard() a remove()
Python
badges = {"start", "seria_7"}

badges.discard("mistrz")
print(sorted(badges))

try:
    badges.remove("mistrz")
except KeyError as error:
    print("KeyError:", error)
Wynikzapisany wynik, możesz go sprawdzić
['seria_7', 'start']
KeyError: 'mistrz'
Usuwanie wielu elementów
Python
tasks = {"html", "css", "js", "python"}
done = {"css", "js"}

tasks -= done
print(sorted(tasks))
Wynikzapisany wynik, możesz go sprawdzić
['html', 'python']

Dobre praktyki

#
  • Gdy element może nie istnieć, wybierz discard(). Kod bez if x in zbior: jest krótszy i czytelniejszy.
  • Nie usuwaj elementów ze zbioru w pętli po tym samym zbiorze. Przejdź po kopii albo zbuduj nowy zbiór.

Powiązane hasła

#

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