0Pricing
Python Academy · Lekcja

Zbiory i operacje na zbiorach

Proszę tworzyć zbiory oraz wykonywać operacje sumy, części wspólnej i różnicy.

Zbiory i operacje na zbiorach to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Wprowadzenie

Zbiory to nieuporządkowane kolekcje unikatowych, haszowalnych elementów. Są zoptymalizowane pod kątem sprawdzania przynależności oraz matematycznych operacji na zbiorach.

Tworzenie zbioru

s = {1, 2, 3} lub s = set([1, 2, 2, 3]) — duplikaty są automatycznie usuwane. {} tworzy pusty słownik, a nie zbiór.
s = {1, 2, 2, 3}
print(s)  # {1, 2, 3}
empty = set()
print(type(empty))

add() i discard()

s.add(x) dodaje element. s.discard(x) usuwa go bez zgłaszania błędu, jeśli go nie ma. s.remove(x) zgłasza KeyError, jeśli elementu nie ma.
s = {1, 2, 3}
s.add(4)
s.discard(9)  # safe
print(s)

Sprawdzanie przynależności

x in s ma złożoność O(1) dla zbiorów, w porównaniu z O(n) dla list. Gdy potrzebne jest wyłącznie szybkie sprawdzanie przynależności, należy zawsze wybierać zbiór.
s = {1, 2, 3}
print(2 in s)
print(9 in s)

Suma |

s1 | s2 zwraca elementy należące do dowolnego z obu zbiorów. Równoważne jest s1.union(s2).
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)

Część wspólna &

s1 & s2 zwraca elementy należące do obu zbiorów. Równoważne jest s1.intersection(s2).
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)

Różnica -

s1 - s2 zwraca elementy należące do s1, ale nie do s2. Równoważne jest s1.difference(s2).
a = {1, 2, 3}
b = {2, 3, 4}
print(a - b)

Różnica symetryczna ^

s1 ^ s2 zwraca elementy należące do jednego ze zbiorów, ale nie do obu. Jest to przydatne do znajdowania zmian między dwoma zbiorami.
a = {1, 2, 3}
b = {2, 3, 4}
print(a ^ b)

Podzbiór i nadzbiór

s1 <= s2 sprawdza, czy s1 jest podzbiorem s2. s1 >= s2 sprawdza, czy s1 jest nadzbiorem s2. s1 < s2 sprawdza, czy s1 jest właściwym podzbiorem.
a = {1, 2}
b = {1, 2, 3}
print(a <= b)
print(b >= a)

frozenset

frozenset to niezmienny zbiór — można go użyć jako klucza słownika lub elementu innego zbioru.
fs = frozenset([1, 2, 3])
d = {fs: 'value'}
print(d[fs])

Wyrażenia zbiorowe

{x*2 for x in range(5)} tworzy zbiór za pomocą składni wyrażenia zbiorowego. Duplikaty są automatycznie usuwane.
evens = {x*2 for x in range(5)}
print(evens)

Szybkie sprawdzenie

Jaka jest złożoność czasowa x in s dla zbioru Pythona s?

Podsumowanie

Zbiory są nieuporządkowane, zawierają unikatowe elementy i zapewniają sprawdzanie przynależności w czasie O(1). Operacje: | (suma), & (część wspólna), - (różnica), ^ (różnica symetryczna). Do niezmiennych zbiorów służy frozenset.

Kontynuuj

Świetnie! Proszę przejść do następnej lekcji, aby nadal rozwijać swoje umiejętności.

Często zadawane pytania

Czy lekcja „Zbiory i operacje na zbiorach” jest bezpłatna?

Tak — pełny tekst „Zbiory i operacje na zbiorach” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Zbiory i operacje na zbiorach”?

Proszę tworzyć zbiory oraz wykonywać operacje sumy, części wspólnej i różnicy. Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Zbiory i operacje na zbiorach”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Podstawy słowników
  2. Metody słowników
  3. Zbiory i operacje na zbiorach
  4. Rozumienie słownikowe
← Powrót do Python Academy