3.1 Określanie liczby elementów
Aby określić liczbę elementów w zestawie, możesz użyć funkcji len()
. Funkcja ta zwraca liczbę unikalnych elementów w zestawie.
Przykład użycia funkcji len()
my_set = {1, 2, 3, 4, 5}
print(len(my_set)) # Wydruk: 5
W tym przykładzie zestaw my_set
zawiera pięć elementów. Funkcja len()
zwraca tę liczbę.
Sprawdzanie, czy zestaw jest pusty
Możesz użyć funkcji len()
, aby sprawdzić, czy zestaw jest pusty. Jest to przydatne w warunkach i pętlach.
my_set = set()
if len(my_set) == 0:
print("Zestaw jest pusty")
else:
print("Zestaw nie jest pusty")
3.2 Określanie typu
Jeśli nie jesteś pewien, czy zmienna przechowuje zestaw, dla większej pewności możesz użyć funkcji type()
. Funkcja type()
w Pythonie zwraca typ obiektu. Jest to przydatne do sprawdzania typu danych, zwłaszcza gdy pracujesz z zestawami i innymi kolekcjami danych.
Przykład:
my_set = {1, 2, 3}
print(type(my_set)) # Wydruk: <class 'set'>
W tym przykładzie type(my_set)
zwraca <class 'set'>
, wskazując, że my_set
jest zestawem.
Sprawdzanie typu danych
Możesz użyć funkcji type()
, aby sprawdzić typ danych przed wykonaniem operacji. Pomaga to unikać błędów związanych z niezgodnymi typami danych.
def add_element(collection, element):
if type(collection) is set:
collection.add(element)
else:
print("Błąd: przekazana kolekcja nie jest zestawem")
my_set = {1, 2, 3}
add_element(my_set, 4) # Element zostanie dodany
add_element([1, 2, 3], 4) # Wywoła błąd
W tym przykładzie funkcja add_element()
sprawdza, czy przekazana kolekcja jest zestawem, przed dodaniem elementu.
Funkcja type()
może być przydatna przy tworzeniu złożonych struktur danych, które mogą zawierać wiele różnych typów danych. Pozwala dynamicznie określać typ danych i odpowiednio je obsługiwać.
Przykład:
my_set = {}
print(type(my_set)) # Wydruk: <class 'dict'>
Nawiasy klamrowe są używane do tworzenia zestawu i do tworzenia słownika (tam jest trochę inna składnia wewnątrz). Domyślnie, jeśli w nawiasach nie ma elementów — to tworzy słownik!
3.3 Kolejność elementów
Zestawy to szczególny typ kolekcji danych, który przechowuje tylko unikalne elementy. Jedną z kluczowych cech zestawów jest to, że są nieuporządkowane. Oznacza to, że elementy zestawu nie mają ustalonej kolejności, a ich kolejność może się zmieniać przy każdej iteracji.
Zestawy w Pythonie są zaimplementowane na bazie tabeli haszującej. Kiedy dodajesz element do zestawu, Python oblicza jego wartość haszującą i używa jej do określenia pozycji elementu w tabeli haszującej. Ta struktura danych zapewnia szybką weryfikację przynależności, dodawanie i usuwanie elementów. Jednakże z powodu użycia wartości haszujących kolejność elementów nie jest zachowana i nie można jej przewidzieć.
Przykład nieuporządkowania zestawów
Rozważmy prosty przykład:
my_set = {3, 1, 2}
for item in my_set:
print(item)
Podczas wykonywania tego kodu elementy mogą być wyświetlane w dowolnej kolejności, na przykład 1 2 3 lub 3 1 2. Oznacza to, że kolejność wyświetlania elementów zestawu nie jest gwarantowana i może się zmieniać przy każdym uruchomieniu programu.
Ważność nieuporządkowania
Nieuporządkowanie zestawów ma kilka ważnych konsekwencji:
- Brak indeksacji: w przeciwieństwie do list i krotek, zestawy nie obsługują dostępu do elementów za pomocą indeksu.
Próba wykonania my_set[0] wywoła błąd
. - Wydajność: Nieuporządkowanie pozwala zestawom być efektywnymi pod względem wydajności, zwłaszcza przy dodawaniu i usuwaniu elementów.
- Unikalność elementów: Zestawy automatycznie usuwają duplikaty, co czyni je przydatnymi do przechowywania unikalnych danych.
GO TO FULL VERSION