2.1 Zbiór i jego właściwości
Zbiory to specjalny typ kolekcji danych w programowaniu, który pomaga przechowywać unikalne elementy. Mówiąc prosto, zbiór przypomina kosz, do którego można wkładać tylko niepowtarzające się przedmioty. Jeśli spróbujesz włożyć do kosza coś, co już tam jest, kosz po prostu zignoruje to działanie.
Główne cechy zbiorów
Unikalność:
W zbiorze każdy element jest unikalny. Jeśli dodasz element, który już istnieje w zbiorze, nie zostanie on dodany ponownie.
Nieuporządkowanie:
W przeciwieństwie do list, elementy w zbiorze nie mają określonego porządku. To oznacza, że nie możesz odwoływać się do elementów przez indeks
.
Modyfikowalność:
Zbiory można modyfikować — dodawać i usuwać elementy, ale same elementy zbioru muszą być niemodyfikowalne (na przykład liczby, łańcuchy znaków lub krotki).
2.2 Tworzenie zbioru w Pythonie
Zobaczmy wszystkie sposoby tworzenia zbiorów w Pythonie, żebyś miał(a) cały arsenał metod do pracy z nimi.
Użycie nawiasów klamrowych
Najbardziej powszechny sposób tworzenia zbioru to użycie nawiasów klamrowych {}. Tak samo jak przy pracy z krotkami i listami, po prostu wymieniasz elementy wewnątrz nawiasów:
fruit_set = {"apple", "banana", "cherry"}
print(fruit_set) # Wyjście: {"banana", "cherry", "apple"}
Elementy mogą być różnych typów, ale każdy element musi być unikalny.
fruit_set = {"apple", 1, 3.25}
print(fruit_set) # Wyjście: {1, "apple", 3.25}
Użycie funkcji set()
Funkcja set()
może być używana do tworzenia zbioru z innego obiektu iterowalnego, na przykład, listy, łańcucha znaków lub krotki.
Z listy
list_to_set = set([1, 2, 3, 4, 4, 5])
print(list_to_set) # Wyjście: {1, 2, 3, 4, 5}
Z łańcucha znaków
string_to_set = set("hello")
print(string_to_set) # Wyjście: {"h", "e", "l", "o"}
Z krotki
tuple_to_set = set((1, 2, 3, 4, 5))
print(tuple_to_set) # Wyjście: {1, 2, 3, 4, 5}
Z innego zbioru
Możesz stworzyć zbiór z innego zbioru, co jest przydatne do tworzenia kopii.
original_set = {"apple", "banana", "cherry"}
new_set = set(original_set)
print(new_set) # Wyjście: {"banana", "cherry", "apple"}
Pusty zbiór
Do stworzenia pustego zbioru używa się funkcji set()
. Zwróć uwagę, że użycie nawiasów klamrowych {}
stworzy pusty słownik (dictionary)
, a nie zbiór.
empty_set = set()
print(empty_set) # Wyjście: set()
2.3 Lista metod
Zbiory w Pythonie posiadają zestaw metod, które pozwalają efektywnie zarządzać kolekcjami danych. Oto niektóre z najbardziej popularnych metod klasy set
:
Metoda | Opis |
---|---|
add() |
Dodaje element do zbioru |
remove() |
Usuwa element ze zbioru, wywołuje błąd jeśli elementu nie ma |
discard() |
Usuwa element ze zbioru, błąd nie występuje jeśli elementu nie ma |
pop() |
Usuwa i zwraca losowy element, wywołuje błąd jeśli zbiór jest pusty |
clear() |
Usuwa wszystkie elementy ze zbioru |
union() |
Zwraca unię zbiorów |
intersection() |
Zwraca przecięcie zbiorów |
difference() |
Zwraca różnicę zbiorów |
symmetric_difference() |
Zwraca różnicę symetryczną zbiorów |
update() |
Dodaje elementy z innego zbioru lub obiektu iterowalnego do bieżącego zbioru |
Niżej omówimy szczegóły działania wszystkich tych metod i nawet trochę więcej.
GO TO FULL VERSION