Junior
Povězte o typu dat set.
sobes.tech AI
Odpověď od AI
Typ dat set v Pythonu představuje neuspořádanou sekvenci jedinečných prvků.
Hlavní vlastnosti:
- Nepořádané: Prvky v množině nem mají pevné pořadí.
- Jedinečné: Každá hodnota se může v množině vyskytovat pouze jednou.
- Měnitelné: Množiny mohou přidávat a odstraňovat prvky (kromě
frozenset). - Prvky musí být hashovatelné: Podporovány jsou neměnitelné datové typy (čísla, řetězce, n-tice). Měnitelné typy (seznamy, slovníky) nelze použít.
Vytvoření:
# Vytvoření prázdné množiny
prázdná_množina = set()
# Vytvoření množiny ze seznamu
můj_seznam = [1, 2, 3, 2, 4]
množina_ze_seznamu = set(můj_seznam) # množina_ze_seznamu bude {1, 2, 3, 4}
# Vytvoření množiny pomocí složených závorek
přímá_množina = {5, 6, 7}
Hlavní operace:
| Operace | Metoda | Popis |
|---|---|---|
| Přidání prvku | add(element) |
Přidá element do množiny. |
| Odebrání prvku | remove(element) |
Odebere element. Vyvolá chybu, pokud není. |
| Bezpečné odebrání prvku | discard(element) |
Odebere element. Nic neudělá, pokud není. |
| Unie | union(), ` |
` |
| Průnik | intersection(), & |
Vrací novou množinu s průnikem prvků. |
| Rozdíl | difference(), - |
Prvky první, které nejsou ve druhé. |
| Symetrický rozdíl | symmetric_difference(), ^ |
Prvky, které jsou pouze v jednom z množin. |
| Kontrola přítomnosti | in |
Logická hodnota, zda prvek je v množině. |
Příklady použití:
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# Unie
sjednoceni = set1.union(set2) # sjednoceni = {1, 2, 3, 4, 5, 6}
# Průnik
prunik = set1 & set2 # prunik = {3, 4}
# Rozdíl
dif = set1 - set2 # dif = {1, 2}
# Kontrola přítomnosti
je_přítomen = 3 in set1 # je_přítomen = True
Použití v QA:
- Vyhledávání duplicit v datech.
- Porovnání dvou sad výsledků (například očekávaných a skutečných).
- Filtrace unikátních prvků z posloupnosti.
- Rychlá kontrola, zda je prvek v rozsáhlé kolekci dat.
frozenset: Neměnná verze množiny. Používá se, když je potřeba neměnitelné množiny (například jako klíč v slovníku).