Sobes.tech
Junior

Објасните о типу података set.

sobes.tech АИ

Одговор од АИ

Tip podataka set u Python-u predstavlja neuređeni niz neponovljivih elemenata.

Osobine:

  • Neuređenost: Elementi u skupu nemaju fiksni red.
  • Nepovratnost: Svaka vrednost može biti prisutna u skupu samo jednom.
  • Promenljivost: Skupovi mogu dodavati i uklanjati elemente (osim frozenset).
  • Elementi moraju biti hešabilni: Podržavaju se nepromenljivi tipovi podataka (brojevi, stringovi, torke). Promenljivi tipovi (liste, rečnici) ne mogu se koristiti.

Kreiranje:

# Kreiranje praznog skupa
empty_set = set()

# Kreiranje skupa iz liste
my_list = [1, 2, 3, 2, 4]
set_from_list = set(my_list) # set_from_list će biti {1, 2, 3, 4}

# Kreiranje skupa koristeći vitičaste zagrade
direct_set = {5, 6, 7}

Osnovne operacije:

Operacija Metod Opis
Dodavanje elementa add(element) Dodaje element u skup.
Uklanjanje elementa remove(element) Uklanja element. Ako ne postoji, izaziva grešku.
Uklanjanje elementa discard(element) Uklanja element. Ne radi ništa ako ne postoji.
Unija union(), ` `
Presjek intersection(), & Vraća novi skup sa zajedničkim elementima.
Razlika difference(), - Vraća elemente prvog, kojih nema u drugom.
Simetrična razlika symmetric_difference(), ^ Vraća elemente koji su samo u jednom od skupova.
Provera prisustva in Da li je element u skupu.

Primeri upotrebe:

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

# Unija
union_set = set1.union(set2) # union_set = {1, 2, 3, 4, 5, 6}

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

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

# Provera prisustva
is_present = 3 in set1 # is_present = True

Primena u QA:

  • Pronalaženje duplikata u listama podataka.
  • Upoređivanje dva skupa rezultata (npr. očekivanih i stvarnih).
  • Filtriranje jedinstvenih elemenata iz sekvence.
  • Provera prisustva elementa u velikoj kolekciji podataka (brzo pretraživanje).

frozenset: Neizmenjiva verzija skupa. Koristi se kada je potrebno imati nepromenljiv skup (npr. kao ključ u rečniku).