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).