Kaj so nabori v Pythonu in kako jih uporabljati?



Naučite se, kaj so nabori v Pythonu, kako jih ustvariti skupaj z različnimi operacijami. Spoznali boste tudi zamrznjene nize in njihovo ustvarjanje v Pythonu.

Shranjevanje podatkov je nekaj, kar je potrebno za vsako domeno v današnjem svetu. Python ponuja različne vrste podatkovnih struktur za organizacijo vaših podatkov in te podatkovne strukture so bistveni del . Med vsemi podatkovnimi strukturami, ki so na voljo v Pythonu, so nekatere spremenljive, nekatere pa nespremenljive. V tem članku bom razpravljal o enem od teh sklopov. Nabori v Pythonu so podatkovne strukture, ki jih je mogoče spreminjati, iterabilne in neurejene. Tu je hiter opis vsega, kar je bilo nadalje obravnavano.

Kaj je nastavljeno v Pythonu?
Kdaj uporabiti nabore v Pythonu?
Kako ustvarite komplet?
Nastavite operacije





Kaj so zamrznjeni kompleti?

Začnimo. :-)



Kaj je nastavljeno v Pythonu?

Nabor je v bistvu podatkovni tip, sestavljen iz zbirke neurejenih elementov. Ti elementi so lahko za razliko od vseh tipov podatkov kot nabori ,niso značilne za tip. Kompleti so spremenljivi (spremenljivi) in nimajo ponavljajočih se kopij elementov. Vrednosti množice arNeindeksiran torej indeksing operacij ni mogoče izvajati na nizih.

Primer:

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

Izhod: {‘S’, 1, 7.8}



Na izhodu so prikazani vsi prisotni elementi My_Set.

Opomba: Komplet kot celota je spremenljiv, elementi pa ne.

Zdaj, ko veste, kaj so nabori v Pythonu, pojdimo naprej in razumemo, kdaj uporabiti nabore.

Kdaj uporabiti nabore v Pythonu?

Kompleti v Pythonu se uporabljajo, kadar-

  • Vrstni red podatkov ni pomemben
  • V podatkovnih elementih ne potrebujete ponovitev
  • Izvajati morate matematične operacije, kot so združitev, presečišče itd

Zdaj pa pojdimo naprej in poglejmo, kako ustvariti nabore v Pythonu.

Kako ustvarim nabor v Pythonu?

Komplete v Pythonu lahko ustvarite na dva načina -

  • zapiranje elementov znotraj zavitih oklepajev
  • z uporabo funkcije set ()

1. Uporaba skodranih oklepajev:

Kompleti v Pythonu so ustvarjeni z uporabo zavitih oklepajev ({}).

 Primer: 
My_Set = {1, 's', 7.8} print (My_Set)

Izhod: {‘S’, 1, 7.8}

Kot lahko vidite, je My_Set ustvarjen.

2. Uporaba funkcije set ()

Nabore v Pythonu lahko ustvarite s funkcijo set ().

Primer:

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

Izhod: {1, 'b', 6.9}

Z isto funkcijo lahko ustvarite tudi prazen niz.

Primer:

Empty_Set = set () print (Empty_Set)

Izhod: set ()

Zgornji izhod kaže, da je bil ustvarjen prazen niz z imenom Empty_Set.

V ta prazen nabor lahko dodate elemente. To bom obravnaval v naslednjih temah.

Nastavite operacije

Številne operacije lahko izvedete na nizih, kot so dodajanje elementov, brisanje elementov, iskanje dolžine niza itd. Če želite vedeti, katere vse metode lahko uporabite na nizih, lahko uporabite tebi() funkcijo.

Primer:

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

Izhod:

['__in __', '__ razred __', '__ vsebuje __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', '__gt__', '__gt__', ' __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __new__ ',' __ , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__sub__', ' __xor__ ',' dodaj ',' izbriši ',' kopiraj ',' razlika ',' razlika_update ',' zavrzi ',' križišče ',' presek_update ',' isdisjoint ',' issubset ',' issueperset ',' pop ' , 'odstrani', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

Rezultat prikazuje vse metode, ki jih je mogoče uporabiti na nizih. Nekaj ​​jih bom predstavil v nadaljevanju tega članka.

Iskanje dolžine niza

Če želite v Pythonu najti dolžino nabora, lahko uporabite funkcijo len (). Ta funkcija za parameter vzame ime nabora in vrne celoštevilčno vrednost, ki je enako številu elementov, ki so v naboru.

Primer:

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

Izhod: 3.

Kot lahko vidite v zgornjem izhodu, je bil vrnjen 3, ki je enak številu elementov, ki so prisotni v My_Set. Zdaj je mogoče dostopati tudi do teh elementov, kar je prikazano spodaj.

Dostop do elementov niza

Do elementov niza ni mogoče dostopati z uporabo indeksnih številk, ker, kot je določeno prej, elementi niza niso indeksirani. Torej, ko želite dostopati do elementov nabora, lahko zanko preberete in dostopate do njegovih elementov.

Primer:

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

Izhod:

s 1 7.8

Kot lahko vidite v izhodu, je vrstni red drugačen od vrstnega reda elementov, ki so priloženi kompletu. To je zato, ker elementi niso urejeni.

Dodajanje elementov v nabor:

Elemente lahko naboru dodate z dvema funkcijama, dodaj () in nadgradnja() funkcijo.

Funkcija add () doda en element obstoječemu nizu, kot je prikazano spodaj:

Primer:

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

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

Funkcija update () se uporablja, kadar želite obstoječemu naboru dodati več elementov.

Primer:

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

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

Kot lahko vidite v zgornjem izhodu, funkcija update () zajema seznam 4 vrednosti, vse vrednosti razen 1 pa so dodane v My_Set. To je zato, ker je 1 že prisoten v naboru in ga zato ni mogoče znova dodati.

preobremenitev vs preglasitev c ++

Odstranjevanje elementov kompleta

Če želite elemente odstraniti iz niza, lahko uporabite eno od Odstrani(), zavrzi () in pop () funkcije.

Funkcija remove () ima en parameter, ki je element, ki ga je treba odstraniti iz niza.

Primer:

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

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

Kot lahko vidite, je bil 2 odstranjen iz nabora s pomočjo funkcije remove (). Če kot parameter za odstranitev (), ki ne obstaja v naboru, določite kakšen element, bo prišlo do napake.

Če želite zdaj nekaj odstraniti iz nabora in če niste prepričani, ali je ta element dejansko prisoten v naboru, lahko uporabite funkcijo discard (). Ta funkcija bo kot parameter odvzela element iz niza, vendar v primeru, da element ni prisoten, ne bo povzročila napake.

Primer:

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

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

Zgornji izhod kaže, da je bil 4.6 odstranjen iz My_Set, vendar discard () ni povzročil napake, ko sem uporabil My_Set.discard ('i'), čeprav 'i' ni v mojem naboru.

Funkcija pop () odstranjuje tudi elemente nabora, ker pa je niz neurejen, ne boste vedeli, kateri element je bil odstranjen.

Primer:

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

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

Rezultat kaže, da je bil s pomočjo pop () odstranjen naključni element, ki je v tem primeru 1.

Zdaj, če želite izbrisati vse elemente, ki so prisotni v nizu, lahko uporabite jasno () metoda.

Primer:

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

Izhod: set ()

Kot lahko vidite v zgornjem izhodu, je My_Set prazen nabor.

Če želite komplet popolnoma izbrisati, lahko uporabite od ključna beseda.

Primer:

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

Ko zaženete zgornjo kodo, se prikaže napaka, ker je My_Set izbrisan.

Na množici lahko izvajate tudi različne matematične operacije, kot so združevanje, presečišče, razlika itd., O čemer bomo govorili spodaj.

Zveza sklopov

Združevanje nizov se nanaša na združevanje dveh ali več nizov v en sklop z dodajanjem vseh unikatnih elementov, ki so prisotni v obeh nizih. To je mogoče storiti na dva načina:

  • Uporaba cevovoda
  • Uporaba funkcije union ()

Uporaba simbola cevovoda:

Dva sklopa je mogoče združiti s pomočjo | simbol, kot sledi:

Primer:

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

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

Kot lahko vidite, je v zgornjem izhodu združitev niza a in niza b shranjena v novem nizu c. Z | lahko povežete tudi več kot dva sklopa simbol.

Primer:

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

Izhod:

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

Uporaba metode union ():

Če želite združiti dva ali več sklopov, lahko uporabite metodo union (), kot sledi:

Primer:

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

Izhod:

Nastavite a U b = {1, 2, 4.6, 5, 7.8, „r“, „abc“, „s“, „d“}

Nastavite A U b U c = {1, 2, 4.6, 5, 4.7, 7.8, „r“, 76, 23, „abc“, „m“, „s“, „d“}

Zgornji izhod kaže, da je d zveza množic a, b in c.

Presečišče množic

Presečišče dveh ali več nizov je nov niz, sestavljen samo iz skupnih elementov, ki so v teh nizih.

To je mogoče storiti na dva načina:

  • Uporaba simbola '&'
  • Uporaba funkcije preseka ()

Uporaba simbola '&':

Presečišče dveh ali več nizov lahko določite s simbolom '&', kot sledi:

Primer:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,} tisk (a & b) natisni (a & b & c)

Izhod:

{2, 5} {2}

Zgornji izhod prikazuje združitev množic a, b in c.

Uporaba funkcije preseka ():

Presečišče dveh ali več nizov lahko določite s pomočjo funkcije intersection (), kot sledi:

Primer:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} print ('Set a presečišče b = ', a.križišče (b)) print (' Nastavi presečišče b križišče c = ', a.križišče (b, c))

Izhod:

Nastavite presečišče b = {2, 5}

Nastavite presečišče b presečišče c = {2}

Zgornji izhod prikazuje presečišče množic a, b in c.

Razlika v kompletih:

Razlika množic ustvari nov niz, sestavljen iz elementov, ki so prisotni samo v enem od teh sklopov. To pomeni, da bodo vrnjeni vsi elementi, razen skupnih elementov teh sklopov.

To je mogoče storiti na dva načina:

  • Uporaba simbola '-'
  • Uporaba funkcije razlika ()

Uporaba simbola '-':

Če želite poiskati razliko med dvema nizoma s simbolom '-', lahko storite naslednje:

Primer:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4} tisk (a-b-c)

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

Rezultat je sestavljen iz vseh elementov nabora „a“, razen tistih, ki so prisotni v „b“ in „c“.

Uporaba funkcije razlika ():

Razliko nizov lahko določimo z vgrajeno funkcijo razlika () na naslednji način:

Primer:

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

Izhod:

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

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

Zgornji izhod je rezultat razlike z uporabo razlike ().

Kaj pa, če sploh ne želite spremeniti elementov svojega nabora, lahko uporabite zamrznjene nize, o čemer bomo govorili spodaj.

Kaj je zamrznjeni komplet?

Zamrznjeni nabor v Pythonu je niz, katerega vrednosti ni mogoče spremeniti. To pomeni, da je nespremenljiv za razliko od običajnega sklopa, o katerem sem že razpravljal. Zamrznjeni kompleti pomagajo služiti kot ključ v slovarju pari ključ-vrednost.

Kako ustvariti zamrznjene komplete?

Zamrznjene komplete lahko dobite z uporabo metode frozenset (). Ta funkcija prevzame vse elemente, ki jih je mogoče ponoviti, in jih pretvori v nespremenljive.

Primer:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = zamrznjeni set (a) print (b)

Izhod: zamrznjen niz ({1, 2, 4.6, 5, 7.8, ‘r’, ‘s’})

Zgornji izhod je sestavljen iz niza b, ki je zamrznjena različica niza a.

Dostop do elementov zamrznjenega kompleta

Do elementov zamrznjenega nabora je mogoče dostopati tako, da ga pregledujete na naslednji način:

Primer:

preobremenitev metode v primerjavi s preglasitvijo metode
b = zamrznjen niz ([1, 2, 4.6, 5, 7.8, 'r', 's']) za x v b: print (x)

Izhod:

eno
2.
4.6
5.
7.8
s

Zgornji izhod kaže, da so bili z uporabo zanke for vsi elementi zamrznjenega niza b vrnjeni drug za drugim. Zamrznjeni kompleti so nespremenljivi, zato ne morete izvajati operacij, kot so add (), remove (), update () itd. Upam, da ste na jasnem z vsem, kar je bilo v tej vadnici dano v skupno rabo z vami. S tem smo zaključili članek o naborih v Pythonu. Poskrbite, da boste čim več vadili in si povrnili izkušnje.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega bloga 'Set in Python' in v najkrajšem možnem času se vam bomo oglasili.

Če želite pridobiti poglobljeno znanje o Pythonu skupaj z različnimi aplikacijami, se lahko prijavite v živo s 24-urno podporo in življenjskim dostopom.