Zestaw jest jednym z 4 typów danych kolekcji występujących w Pythonie obok słowników, krotek i list, różniące się sposobem przechowywania danych.
Zestaw set służy do przechowywania wielu danych w jednej zmiennej i pisany jest w nawiasach klamrowych.
Przykład:
x={"kajak", "lodz", "jacht"}
print(x)
{'jacht', 'kajak', 'lodz'} #wynik
Elementy w zestawie
W przeciwieństwie do innych kolekcji w Pythonie, do
elementów zestawu nie jest dołączony żaden indeks, tzn. nie możemy bezpośrednio uzyskać dostępu do żadnego elementu zestawu za pomocą indeksu.
Pozycje/elementy w zestawach w Pythonie są nieuporządkowane, nie mają określonej kolejności.
W związku z tym wszystkie elementy w zestawie są unikalne, tzn. nie mogą się powtarzać.
Możemy wydrukować elementy zestawu wszystkie razem lub uzyskać listę elementów, przeglądając zestaw w pętli.
Przykład
x={"Jan", "Ania", "Jola"}
print(x)
{'Ania', 'Jola', 'Jan'} #wynik
x={"Jan", "Ania", "Jola"}
for i in x:
print(i)
#wynik
Ania
Jola
Jan
Dodawanie nowych elementów do zestawu
Python udostępnia metodę
add() i metodę
update() , których można użyć do dodania określonego elementu do zestawu.
Metoda add() służy do dodawania pojedynczego elementu;
metoda update() służy do dodawania wielu elementów do zestawu.
Przykład
x={"Jan", "Ania", "Jola"}
x.add("Krzys")
print(x)
{'Ania', 'Jola', 'Jan', 'Krzys'} #wynik
Usuwanie elementów z zestawu
Python udostępnia metodę
discard() i metodę
remove() , których można użyć do usuwania określonych elementów z zestawu.
Metoda discard() służy do usuwania elementu z zestawu;
metoda remove() również służy do usuwania elementu z zestawu.
Różnica pomiędzy tymi dowama metodami polega na tym, że w metodzie discard(), jeśli usuwany element w zestawie nie istnieje, to zestaw pozostaje niezmieniony.
Natomiast w metodzie remove(), podczas usuwania nieistniejącego elementu z zestawu, Python wyrzuci błąd.
Przykład 1 - metoda discard()
x={"Jan", "Ania", "Jola", "Krzys"}
x.discard("Krzys")
print(x)
{'Ania', 'Jola', 'Jan'} #wynik
Przykład 2 - metoda discard() - usuwanie elementu nieistniejącego w zestawie
x.discard("Pauli")
print(x)
{'Ania', 'Jola', 'Jan'} #wynik
Przykład 3 - metoda remove() - usuwanie elementu istniejącego w zestawie
x={"Jan", "Ania", "Jola", "Krzys"}
x.remove("Jola")
print(x)
{'Ania', 'Jan', 'Krzys'} #wynik
Przykład 4 - metoda discard() - usuwanie elementu nieistniejącego w zestawie
x={"Jan", "Ania", "Jola", "Krzys"}
x.remove("Pauli")
BŁĄD #wynik
Słowo kluczowe del
Dzięki słowu kluczowemu del możemy usuwać cały zestaw:
Przykład
x={"Jan", "Ania", "Jola", "Krzys"}
del x
Funkcja len()
Funkcja len zwraca ilość elementów w zestawie:
Przykład
x={"Jan", "Ania", "Jola", "Krzys"}
len(x)
4 #wynik
Typy danych w zestawach
Zestawy w Pythonie mogą zawierać dowolny typ danych:
Przykład
x={"kajak", True, 3, "lodz", 40}
Funkcja type()
Używając funkcjy type() określimy z jakim typem danych w Pythonie mamy do czynienia. Poniżej przykład z zestawem:
Przykład
x={"Jan", "Ania", "Jola", "Krzys"}
type(x)
<class 'set'> #wynik
Funkcja set()
W Pythonie występuje konstruktor set(), jako specjalna funkcja, która zamienia elementy określonej zmiennej na zestaw.
Funkcja set() służy również do konwersji innych typów danych na zestaw.
Przykład
x=1,2,3,4
set(x)
{1, 2, 3, 4} #wynik
Przykład
x=[1,2,3,4]
set(x)
{1, 2, 3, 4} #wynik
Więcej na temat funkcji set() w rozdziale o funkcjach wbudowanych :)
Sprawdzanie, czy dany element w zmiennej istnieje
Możemy sprawdzić, czy dany element w zestawie lub innej zmiennej o różnym typie danych (lista, słownik, krotka) istnieje.
Przykład
x={"Jan", "Ania", "Jola", "Krzys"}
print("Jan" in x)
True #wynik
Pętla for
Dzięki pętli for możemy wyświetlić wszystkie elementy zestawu:
Przykład
x={"Jan", "Ania", "Jola", "Krzys"}
for i in x:
print(i)
#wynik
Ania
Jola
Jan
Krzys