Što su skupovi u Pythonu i kako ih koristiti?



Saznajte što su skupovi u Pythonu, kako ih stvoriti zajedno s raznim operacijama. Također ćete naučiti o smrznutim setovima i njihovom stvaranju u Pythonu.

Pohrana podataka nešto je što je potrebno za svaku domenu u današnjem svijetu. Python pruža različite vrste podatkovnih struktura za organiziranje vaših podataka i te su podatkovne strukture važan dio . Među svim strukturama podataka dostupnim u Pythonu, neke su promjenjive, a neke nepromjenjive. U ovom ću članku raspravljati o jednom od ovih skupova. Skupovi u Pythonu su podatkovne strukture koje su promjenjive, pokretljive i neuređene. Evo kratkog opisa svega što je dalje obrađeno.

Što je postavljeno u Pythonu?
Kada koristiti skupove u Pythonu?
Kako se stvara set?
Postavite operacije





Što su smrznuti setovi?

Započnimo. :-)



Što je postavljeno u Pythonu?

Skup je u osnovi tip podataka koji se sastoji od zbirke neuređenih elemenata. Ovi elementi mogu biti na bilo kojem tipu podataka kao skupovi, za razliku od ,nisu specifični za tip. Kompleti su promjenjivi (promjenjivi) i nemaju ponovljene kopije elemenata. Vrijednosti skupa arNeindeksiran je, dakle, indeksing operacije ne mogu se izvoditi na skupovima.

Primjer:

My_Set = {1, 's', 7.8} ispis (My_Set)

Izlaz: {‘S’, 1, 7,8}



Izlaz prikazuje sve prisutne elemente My_Set.

Bilješka: Skup u cjelini je promjenjiv, ali elementi skupa nisu.

Sad kad znate što su skupovi u Pythonu, krenimo dalje i shvatimo kada koristiti skupove.

Kada koristiti skupove u Pythonu?

Kompleti u Pythonu koriste se kada-

  • Redoslijed podataka nije važan
  • Ne trebaju vam ponavljanja u elementima podataka
  • Morate izvesti matematičke operacije poput spajanja, presijecanja itd

Krenimo sada i vidjet ćemo kako stvoriti skupove u Pythonu.

Kako stvoriti skup u Pythonu?

Kompleti u Pythonu mogu se kreirati na dva načina-

  • zatvarajući elemente unutar kovrčavih zagrada
  • pomoću funkcije set ()

1. Korištenje kovrčavih zagrada:

Kompleti u Pythonu kreiraju se pomoću kovrčavih zagrada ({}).

 Primjer: 
My_Set = {1, 's', 7.8} ispis (My_Set)

Izlaz: {‘S’, 1, 7,8}

Kao što vidite, My_Set je stvoren.

2. Upotrebom funkcije set ()

Kompleti u Pythonu mogu se kreirati pomoću funkcije set ().

Primjer:

a = set ({1, 'b', 6.9}) print (a)

Izlaz: {1, 'b', 6,9}

Također možete stvoriti prazan set pomoću iste funkcije.

Primjer:

Empty_Set = set () print (Empty_Set)

Izlaz: postavi ()

Gornji izlaz pokazuje da je stvoren prazan skup pod nazivom Empty_Set.

Ovom praznom skupu možete dodati elemente. To ću obrađivati ​​u sljedećim temama.

Postavite operacije

Brojni postupci mogu se izvoditi na skupovima kao što su dodavanje elemenata, brisanje elemenata, pronalaženje duljine skupa itd. Da biste znali koje se sve metode mogu koristiti na skupovima, možete koristiti tebi() funkcija.

Primjer:

My_Set = {1, 's', 7.8} dir (My_Set)

Izlaz:

['__i __', '__ klasa __', '__ sadrži __', '__ djelattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', '__gt__', '__gt__', ' __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __ne__, '__ , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__sub__', '__sub__', '__sub__', '__sub__', ' __xor__ ',' dodaj ',' očisti ',' kopiraj ',' razlika ',' razlika_update ',' odbaci ',' presjek ',' presjek_updata ',' isdisjoint ',' issubset ',' Issperset ',' pop ' , 'ukloni', 'simetrična_razlika', 'simetrična_diferenca_update', 'unija', 'ažuriranje']

Izlaz prikazuje sve metode koje se mogu koristiti na skupovima. Nekoliko ću ih demonstrirati dalje u ovom članku.

Pronalaženje duljine skupa

Da biste pronašli duljinu skupa u Pythonu, možete koristiti funkciju len (). Ova funkcija uzima naziv skupa kao parametar i vraća cijelu vrijednost koja je jednaka broju elemenata prisutnih u skupu.

Primjer:

My_Set = {1, 's', 7.8} len (My_Set)

Izlaz: 3

Kao što možete vidjeti u gornjem izlazu, vraćeno je 3 što je jednako broju elemenata prisutnih u My_Set. Sada se može pristupiti i tim elementima, što je prikazano u nastavku.

Pristup elementima skupa

Elementima skupa nije moguće pristupiti pomoću indeksnih brojeva jer, kako je prethodno navedeno, elementi skupa nisu indeksirani. Stoga, kada želite pristupiti elementima skupa, možete ga petljati i pristupati njegovim elementima.

Primjer:

My_Set = {1, 's', 7.8} za x u My_Set: print (x)

Izlaz:

s 1 7,8

Kao što možete vidjeti u izlazu, redoslijed je drugačiji od redoslijeda elemenata isporučenih u set. To je zato što elementi nisu poredani.

Dodavanje elemenata u skup:

Elementi se mogu dodati u skup pomoću dvije funkcije, dodati() i Ažuriraj() funkcija.

Funkcija add () dodaje jedan element postojećem skupu kako je prikazano dolje:

Primjer:

My_Set = {1, 's', 7.8} My_Set.add (3) My_Set

Izlaz: {1, 3, 7.8, ‘s’}

Funkcija update () koristi se kada želite dodati više elemenata u postojeći skup.

Primjer:

My_Set = {1, 's', 7.8} My_Set.update ([2,4,6,1, 'r']) My_Set

Izlaz: {1, 2, 4.6, 7.8, „r“, „s“}

Kao što možete vidjeti u gornjem izlazu, funkcija update () uzima popis od 4 vrijednosti i sve vrijednosti osim 1 dodaju se u My_Set. To je zato što je 1 već prisutan u skupu i stoga ga se ne može ponovno dodati.

Uklanjanje elemenata skupa

Da biste uklonili elemente iz skupa, možete upotrijebiti bilo ukloniti(), odbaciti() i pop () funkcije.

Funkcija remove () uzima jedan parametar koji je stavka koju treba ukloniti iz skupa.

Primjer:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) print (My_Set)

Izlaz: {1, 4.6, 7.8, „r“, „s“}

Kao što vidite, 2 je uklonjen iz skupa pomoću funkcije remove (). U slučaju da odredite neki element kao parametar za uklanjanje () koji ne postoji u skupu, izbacit će pogrešku.

Ako želite ukloniti neki element iz skupa i ako niste sigurni je li taj element zapravo prisutan u skupu ili ne, možete upotrijebiti funkciju odbacivanja (). Ova će funkcija uzeti parametar za uklanjanje elementa iz skupa, ali u slučaju da element nije prisutan, neće stvoriti pogrešku.

Primjer:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ('i') print (My_Set)

Izlaz: {1, 2, 7.8, „r“, „s“}

Gornji izlaz pokazuje da je 4.6 uklonjen iz My_Set, ali odbaci () nije doveo do pogreške kada sam koristio My_Set.discard ('i') iako 'i' nije prisutan u mom skupu.

Funkcija pop () također uklanja postavljene elemente, ali budući da je skup neuređen, nećete znati koji je element uklonjen.

Primjer:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () print (My_Set)

Izlaz: {2, 4.6, 7.8, „r“, „s“}

Izlaz pokazuje da je pomoću pop () uklonjen neki slučajni element, što je u ovom slučaju 1.

Sada, u slučaju da želite izbrisati sve elemente prisutne u skupu, možete koristiti čisto() metoda.

Primjer:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () print (My_Set)

Izlaz: postavi ()

Kao što vidite u gornjem izlazu, My_Set je prazan skup.

U slučaju da želite potpuno izbrisati skup, možete koristiti od ključna riječ.

Primjer:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set ispis (My_Set)

Kada pokrenete gornji kôd, pojavit će se pogreška jer je My_Set izbrisan.

Također možete izvoditi razne matematičke operacije na skupu kao što su spajanje, presijecanje, razlika itd. O čemu se govori u nastavku.

Unija setova

Unija skupova odnosi se na spajanje dvaju ili više skupova u jedan skup dodavanjem svih jedinstvenih elemenata prisutnih u oba skupa. To se može učiniti na dva načina:

  • Korištenje cjevovoda
  • Korištenje funkcije union ()

Korištenje simbola cjevovoda:

Dva skupa mogu se spojiti pomoću | simbol kako slijedi:

Primjer:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b ispis (a | b)

Izlaz: {1, 2, 4.6, 5, 7.8, „r“, „abc“, „s“, „d“}

Kao što vidite, u gornjem izlazu, spoj skupa a i skupa b pohranjen je u novi skup c. Možete spojiti i više od dva skupa pomoću | simbol.

Primjer:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c ispis (d)

Izlaz:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

Korištenjem metode union ():

Da biste povezali dva ili više skupova, možete koristiti metodu union () na sljedeći način:

Primjer:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4.7} print (' Postavi ispis U b = ', a.union (b)) (' Postavi U b U c = ', a.union (b, c))

Izlaz:

Postavite a U b = {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

Postavite a U b U c = {1, 2, 4.6, 5, 4.7, 7.8, 'r', 76, 23, 'abc', 'm', 's', 'd'}

Gornji izlaz pokazuje da je d unija skupova a, b i c.

Sjecište skupova

Sjecište dvaju ili više skupova novi je skup koji se sastoji samo od zajedničkih elemenata prisutnih u tim skupovima.

To se može učiniti na dva načina:

  • Upotreba simbola '&'
  • Koristeći presjek () funkcije

Korištenje simbola '&':

Presjek dva ili više skupova možete odrediti pomoću simbola '&' na sljedeći način:

Primjer:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} ispis (a & b) ispis (a & b & c)

Izlaz:

{2, 5} {2}

Gornji izlaz prikazuje uniju skupova a, b i c.

Korištenje presjeka () funkcije:

Presjek dva ili više skupova možete odrediti pomoću funkcije intersection () na sljedeći način:

obrnuti broj u pythonu

Primjer:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a presjek b = ', a.križište (b)) print (' Postavi sjecište b sjecište c = ', a.križanje (b, c))

Izlaz:

Postavi sjecište b = {2, 5}

Postavi sjecište b sjecište c = {2}

Gornji izlaz prikazuje presjek skupova a, b i c.

Razlika u skupovima:

Razlika skupova stvara novi skup koji se sastoji od elemenata koji su prisutni samo u jednom od tih skupova. To znači da će se vratiti svi elementi osim zajedničkih elemenata tih skupova.

To se može učiniti na dva načina:

  • Upotrebom simbola ‘-’
  • Korištenje funkcije razlika ()

Korištenje simbola '-':

Da biste pronašli razliku između dva skupa pomoću simbola ‘-’, možete učiniti sljedeće:

Primjer:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} ispis (a-b-c)

Izlaz: {1, 4.6, 7.8, „r“, „s“}

Izlaz se sastoji od svih elemenata skupa 'a', osim onih koji su prisutni u 'b' i 'c'.

Korištenje funkcije razlika ():

Razlika skupova može se odrediti pomoću ugrađene funkcije razlika () na sljedeći način:

Primjer:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a - b = ', a.difference (b)) print (' Set a - b - c = ', a.difference (b, c))

Izlaz:

Postavite a - b = {1, 4.6, 7.8, ‘r’, ‘s’}

Postavite a - b - c = {1, 4.6, 7.8, ‘r’, ‘s’}

Gornji izlaz je rezultat razlike pomoću funkcije razlika ().

A što ako uopće ne želite mijenjati elemente skupa, možete koristiti zamrznute skupove o čemu se govori u nastavku.

Što je smrznuti set?

Zamrznuti skup u Pythonu je skup čije se vrijednosti ne mogu mijenjati. To znači da je nepromjenjiv za razliku od normalnog skupa o kojem sam prethodno raspravljao. Zamrznuti setovi pomažu vam da posluže kao ključ u parovima ključ / vrijednost rječnika.

Kako stvoriti smrznute setove?

Zamrznuti setovi mogu se dobiti metodom frozenset (). Ova funkcija uzima sve predmete koji se mogu ponoviti i pretvara ih u nepromjenjive.

Primjer:

a = {1, 2,5, 4.6, 7.8, 'r', 's'} b = zamrznuti set (a) ispis (b)

Izlaz: zamrznuti set ({1, 2, 4.6, 5, 7.8, ‘r’, ‘s’})

Gornji izlaz sastoji se od skupa b koji je zamrznuta verzija skupa a.

Pristup elementima smrznutog seta

Elementima smrznutog skupa može se pristupiti petljanjem na sljedeći način:

Primjer:

b = zamrznuti set ([1, 2, 4.6, 5, 7.8, 'r', 's']) za x u b: ispis (x)

Izlaz:

jedan
2
4.6
5
7.8
s

Gornji izlaz pokazuje da su pomoću petlje for svi elementi zamrznutog skupa b vraćeni jedan za drugim. Zamrznuti setovi su nepromjenjivi, stoga ne možete izvoditi operacije poput dodavanja (), uklanjanja (), ažuriranja () itd. Nadam se da vam je jasno sve što je s vama podijeljeno u ovom vodiču. To nas dovodi do kraja našeg članka o Setovima u Pythonu. Obavezno vježbajte što je više moguće i vratite svoje iskustvo.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga 'Sets in Python', a mi ćemo vam se javiti u najkraćem mogućem roku.

Da biste stekli detaljno znanje o Pythonu, zajedno s raznim aplikacijama, možete se prijaviti uživo s 24/7 podrškom i doživotnim pristupom.