set.add()

Dodaje element do zbioru. Jeśli element już w nim jest, zbiór się nie zmienia.

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

Przykład

#
Python
visited = {"lekcja_1", "lekcja_2"}

visited.add("lekcja_3")
visited.add("lekcja_1")

print(len(visited))
print(sorted(visited))
Wynikzapisany wynik, możesz go sprawdzić
3
['lekcja_1', 'lekcja_2', 'lekcja_3']

Definicja i zastosowanie

#

Metoda add(element) wstawia jeden element do zbioru. Zbiór przechowuje tylko unikalne wartości, więc dodanie elementu, który już się w nim znajduje, niczego nie zmienia i nie zgłasza błędu.

Elementy zbioru muszą być hashowalne, czyli w praktyce niezmienne: liczby, napisy, krotki. Próba dodania listy albo słownika kończy się błędem TypeError. Kilka elementów naraz dodasz metodą update().

Metoda zmienia zbiór w miejscu i zwraca None. Zbiory nie mają kolejności, więc nowy element nie trafia „na koniec”, jak w liście. Do wyświetlania wygodnie jest posortować zbiór funkcją sorted().

Składnia

#
Składnia
zbior.add(element)

Parametry

#
  • element

    wartość hashowalna

    Element do dodania.

Więcej przykładów

#
Wykrywanie powtórzeń
Python
logins = ["ania", "kuba", "ania", "ola", "kuba"]
seen = set()
duplicates = set()

for login in logins:
    if login in seen:
        duplicates.add(login)
    seen.add(login)

print(sorted(duplicates))
Wynikzapisany wynik, możesz go sprawdzić
['ania', 'kuba']
Nie każdą wartość można dodać
Python
tags = set()
tags.add(("python", 3))
print(tags)

try:
    tags.add(["python", 3])
except TypeError:
    print("Lista nie może być elementem zbioru")
Wynikzapisany wynik, możesz go sprawdzić
{('python', 3)}
Lista nie może być elementem zbioru

Dobre praktyki

#
  • Zbiór w rodzaju seen świetnie nadaje się do zapamiętywania, co już się pojawiło. Sprawdzenie x in seen jest szybkie niezależnie od liczby elementów.
  • Pusty zbiór utworzysz tylko przez set(), bo {} oznacza pusty słownik.

Powiązane hasła

#

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