Junior
Opowiedz o typie danych set.
sobes.tech AI
Odpowiedź od AI
Typ danych set w Pythonie reprezentuje nieuporządkowaną sekwencję unikalnych elementów.
Główne właściwości:
- Nieuporządkowane: Elementy w zbiorze nie mają ustalonego porządku.
- Unikalne: Każda wartość może występować w zbiorze tylko raz.
- Zmienne: Zbiory mogą dodawać i usuwać elementy (z wyjątkiem
frozenset). - Elementy muszą być haszowalne: Obsługiwane są niemutowalne typy danych (liczby, łańcuchy, krotki). Mutowalne typy (listy, słowniki) nie mogą być używane.
Tworzenie:
# Tworzenie pustego zbioru
empty_set = set()
# Tworzenie zbioru z listy
moja_lista = [1, 2, 3, 2, 4]
zbior_z_listy = set(moja_lista) # zbior_z_listy będzie {1, 2, 3, 4}
# Tworzenie zbioru za pomocą nawiasów klamrowych
bezpośredni_zbior = {5, 6, 7}
Podstawowe operacje:
| Operacja | Metoda | Opis |
|---|---|---|
| Dodanie elementu | add(element) |
Dodaje element do zbioru. |
| Usunięcie elementu | remove(element) |
Usuwa element. Rzuca błąd, jeśli nie ma. |
| Usunięcie elementu (bez błędu) | discard(element) |
Usuwa element. Nie robi nic, jeśli nie ma. |
| Suma zbiorów | union(), ` |
` |
| Części wspólne | intersection(), & |
Zwraca nowy zbiór z elementami wspólnymi. |
| Różnica | difference(), - |
Elementy pierwszego, których nie ma w drugim. |
| Różnica symetryczna | symmetric_difference(), ^ |
Elementy, które są tylko w jednym z nich. |
| Sprawdzenie obecności | in |
Wartość boolowska, czy element jest w zbiorze. |
Przykłady użycia:
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# Suma
suma = set1.union(set2) # suma = {1, 2, 3, 4, 5, 6}
# Części wspólne
wspolne = set1 & set2 # wspolne = {3, 4}
# Różnica
d = set1 - set2 # d = {1, 2}
# Sprawdzenie obecności
czy_prezent = 3 in set1 # czy_prezent = True
Zastosowania w QA:
- Wyszukiwanie duplikatów na listach danych.
- Porównanie dwóch zestawów wyników (np. oczekiwanych i rzeczywistych).
- Filtrowanie unikalnych elementów z sekwencji.
- Szybkie sprawdzanie obecności elementu w dużej kolekcji danych.
frozenset: Niezmienny odpowiednik zbioru. Używany, gdy potrzebny jest niezmienny zbiór (np. jako klucz w słowniku).