Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!

Zestawy to takie specyficzne zbiory elementów bez powtórzeń. W zestawach żadna wartość nie może się powtórzyć dwa razy. Są użyteczne np. do usuwania duplikatów. Dodatkowo zestawy automatycznie się sortują.
Podobnie jak w listach, krotkach i słownikach, także i tu mamy różne sposoby deklaracji zestawów. Możemy zadeklarować pusty zestaw takimi sposobami:
z={}
z2=set()
Możemy też stworzyć zestaw od razu zapełniając go danymi:
z3={1,3,2,1,5,1}
print(z3)
Pisałem wcześniej że zestawy nie mogą zawierać duplikatów, a tymczasem dodałem kilkukrotnie tę samą wartość "1". Przy takiej deklaracji nie dostaniemy żadnego wyjątku. Po prostu "1" na liście wystąpi tylko raz. W dodatku dane będą posortowane. Sprawdźmy co zobaczymy na konsoli po uruchomieniu powyższego kodu:
{1, 2, 3, 5}
Zwróć uwagę że w przypadku zestawów używamy nawiasów klamrowych. Jak widać 1 wystąpiła tylko raz, w dodatku zestaw jest posortowany rosnąco.
A co w przypadku zestawów elementów złożonych? Sprawdźmy to na przykładzie zestawu krotek:
z4={(1,"A"),(2,"B"),(1,"C"),(1,"A")}
print(z4)
Co zostało wydrukowane na konsoli?
{(1, 'C'), (2, 'B'), (1, 'A')}
Czyli za duplikat zostaną uznane tylko te krotki, które mają identyczną zawartość wszystkich podelementów.
Jeśli na przykład mamy zbiór elementów pod postacią listy lub krotki, a chcielibyśmy pozbyć się z nich duplikatów to jak to zrobić? Możemy do tego celu wykorzystać właśnie zestawy:
lista=[1,2,3,4,3,2,1]
zestaw=set(lista)
lista2=list(zestaw)
print(lista2)
Powyższy kod drukuje na konsoli taki wynik:
[1, 2, 3, 4]
Do dodawania i kasowania elementów w zbiorach służą odpowiednio funkcje wbudowane "add" i "remove":
s={1,2,3,4}
s.add(5)
s.remove(1)
print(s)
Powyższy kod na konsoli drukuje:
{2, 3, 4, 5}
Funkcja remove przyjmuje przez parametr wartość która ma zostać usunięta ze zbioru. Wystąpić może tylko raz w zbiorze, więc nie musimy się zastanawiać czy usunięte zostaną wszystkie czy tylko pierwsze wystąpienie wartości :)
Podobnie jak np. w listach istnieje też funkcja clear, która kasuje całą zawartość zestawu.
Ten kurs daje Ci solidne podstawy Pythona. Jeśli chcesz pójść dalej i pod okiem trenera dojść od pierwszej linijki kodu do własnego modelu uczenia maszynowego, sprawdź nasze pięciodniowe szkolenie Python od podstaw, przez analizę danych, do machine learning. Pierwsze trzy dni to Python w praktyce: typy i kolekcje, instrukcje warunkowe i pętle, funkcje, moduły i pakiety, pliki tekstowe, usługi sieciowe oraz praca z bazą PostgreSQL. Czwarty dzień to analiza danych w pandas (wczytywanie CSV, TSV i XLS, filtrowanie, agregacje, statystyki) i wizualizacja w Matplotlib, Seaborn oraz Plotly. Piąty dzień to uczenie maszynowe w scikit-learn: regresja liniowa i logistyczna, drzewa decyzyjne, las losowy, XGBoost, walidacja predykcji, dobór hiperparametrów i przeciwdziałanie przeuczeniu. Szkolenie ma terminy gwarantowane, czyli odbywa się niezależnie od wielkości grupy.
Szkolenie Python od podstaw, przez analizę danych, do machine learning
To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...