PythonSłowniki i zbiory
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
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
#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']
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. Sprawdzeniex in seenjest 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.