Sobes.tech
Junior

Povedzte o type dát set.

sobes.tech AI

Odpoveď od AI

Typ dátového typu set v Pythone predstavuje neporiadok neopakujúcich prvkov.

Hlavné vlastnosti:

  • Neusporiadanosť: Prvky v množine nemajú pevne stanovený poradie.
  • Nepopakovateľnosť: Každá hodnota môže byť v množine iba raz.
  • Mennosť: Množiny môžu pridávať a odstraňovať prvky (okrem frozenset).
  • Prvky musia byť hashovateľné: Podporujú sa nemenné typy dát (čísla, reťazce, n-tice). Menné typy (zoznamy, slovníky) nie je možné použiť.

Vytváranie:

# Vytvorenie prázdnej množiny
empty_set = set()

# Vytvorenie množiny zo zoznamu
my_list = [1, 2, 3, 2, 4]
set_from_list = set(my_list) # set_from_list bude {1, 2, 3, 4}

# Vytvorenie množiny s použitím zložených zátvoriek
direct_set = {5, 6, 7}

Hlavné operácie:

Operácia Metóda Popis
Pridanie prvku add(element) Pridá element do množiny.
Odstránenie prvku remove(element) Odstráni element. Vyvolá chybu, ak nie je.
Odstránenie prvku discard(element) Odstráni element. Nerobí nič, ak nie je.
Zlúčenie union(), ` `
Prienik intersection(), & Vráti novú množinu s spoločnými prvkami.
Rozdiel difference(), - Vráti prvky prvej, ktoré nie sú v druhej.
Symetrická rozdielnosť symmetric_difference(), ^ Vráti prvky, ktoré sú len v jednom z množín.
Kontrola prítomnosti in Boolean, či je prvok v množine.

Príklady použitia:

set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}

# Zlúčenie
union_set = set1.union(set2) # union_set = {1, 2, 3, 4, 5, 6}

# Prienik
intersection_set = set1 & set2 # intersection_set = {3, 4}

# Rozdiel
difference_set = set1 - set2 # difference_set = {1, 2}

# Kontrola prítomnosti
is_present = 3 in set1 # is_present = True

Použitie v QA:

  • Vyhľadávanie duplikátov v zoznamoch dát.
  • Porovnávanie dvoch súborov výsledkov (napríklad očakávaných a skutočných).
  • Filtrácia unikátnych prvkov zo sekvencie.
  • Kontrola prítomnosti prvku v veľkej kolekcii dát (rýchle vyhľadávanie).

frozenset: Nemenná verzia množiny. Používa sa, keď je potrebné mať nemennú množinu (napríklad ako kľúč v slovníku).