Nabor Python je edinstvena literala za filtriranje različnih vrednosti na seznamu ali v polju elementov. Za razliko od seznama, slovarja ali nabora Python ne sprejema dvojnikov. Torej je lahko dragoceno orodje za čiščenje podatkov.

Toda kako lahko ustvarite nabor in ga uporabite v Pythonu? To bomo razložili v tej objavi.

Značilnosti naborov Python

Poleg tega, da ni sprejel dvojnikov, ima nabor literal tudi druge značilnosti, ki ga razlikujejo od drugih vrst podatkov. Tu je nekaj njegovih lastnosti:

  • To je nespremenljivo: to pomeni, da ne morete spremeniti vrednosti niza, ko ga enkrat ustvarite.
  • Set literal vrne dinamično razporeditev vsakič, ko jo ustvarite. V bistvu so predmeti v kompletu neurejeni.
  • Ker predstavlja neurejene predmete, za razliko od literarnih seznamov in slovarjev vrednosti nabora ne morete dobiti po njihovih indeksih.

Kako ustvariti in uporabiti nabor Python

Zdaj, ko poznate osnovne značilnosti nabora Python. Oglejmo si nekaj načinov, kako ga lahko uporabite v svojem programu.

instagram viewer

S pomočjo kodrastih oklepajev ustvarite nabor v Pythonu. Komplet je torej seznam elementov v zavitih oklepajih, ločenih z vejicami:

mySet = {1, 2, "MUO", "Google"}
natisni (mySet)
Izhod: {1, 2, "MUO", "Google"}

V nabor lahko pretvorite tudi katero koli drugo vrsto podatkov. Spodnja koda na primer seznam pretvori v nabor:

myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
natisni (mySet)
Izhod: {1, 2, "MUO", "Google"}

Če želite biti prepričani, lahko preverite vrsto podatkov mySet:

myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
tiskanje (vrsta (mySet))
Izhod:

Kot smo že omenili, niz ne sprejema dvojnikov. Ta funkcija je lahko koristna, če želite očistiti matriko z odstranitvijo podvojenih vrednosti.

Spodnja koda odstrani dvojnike s seznama in izhodne podatke predstavi kot nabor Python:

myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = set (myList)
natisni (mySet)
Izhod: {1, 2, 'MUO', 'Google'}

Za nadaljnjo predstavitev funkcije filtriranja niza, ko natisnete dolžino niza, ne šteje podvojenih vrednosti:

mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
tiskanje (len (mySet))
Izhod: 4

Za boljši primer uporabe nabora odstranimo dvojnike v naslednji matriki. To je kot poizvedovanje po edinstvenih ključih v matriki.

Če želite to narediti, pretvorite slovar v nabor:

myDiction = {
"Mango": 2, "Oranžna": 2, "korenček": 2, "MUO": "tehnologija",
"MUO": "splet", "Google": "iskanje", "Google": "motor"
}
uniqueSet = set (myDiction)
print ("To so edinstveni ključi: {}". format (uniqueSet))
Izhod: to so edinstveni ključi: {'Google', 'Mango', 'MUO', 'Orange', 'carrot'}

Zgornja pretvorba samodejno odstrani podvojene predmete iz polja.

Zgornjo kodo lahko spremenite z uporabo zanke for da bo bolj jasno:

za unikatne predmete v uniqueSet
tisk (unikat)

Prav tako lahko združite dva niza z union () metoda:

setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
tiskanje (newSet)
Izhod: {1, 3, 4, 5, 6}

Vendar zgornja koda združi oba nabora in odstrani podvojene vrednosti.

Lahko pa uporabite tudi cev | funkcija za združevanje nizov v Pythonu:

setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
tiskanje (newSet)
Izhod: {1, 3, 4, 5, 6}

Razliko med dvema nizoma lahko najdete tudi v Pythonu:

setA = {1, 3, 5}
setB = {2, 4, 5,}
print (setA.difference (setB))
Izhod: {1, 3}

Najdete simetrično razliko med množicama A in B. Ta metoda vrne elemente v katerem koli naboru, vendar izključuje njihova sečišča. Poglejmo, kako to deluje:

setA = {1, 3, 5}
setB = {2, 4, 5,}
tiskanje (setA ^ setB)
Izhod: {1, 2, 3, 4}

Lahko pa uporabite tudi symmetric_difference () metoda:

setA = {1, 3, 5}
setB = {2, 4, 5,}
tisk (setA.symmetric_difference (setB))
Izhod: {1, 2, 3, 4}

Poglejmo tudi, kako lahko najdete presečišče nizov spodaj:

setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
tiskanje (newSet)
Izhod: {1}

Medtem ko lahko se doda na seznam v Pythonu, ne morete storiti istega za nabor Python. Element pa lahko dodate na konec niza s pomočjo dodajte funkcijo.

Toda Python dodajte Funkcija sprejme en argument, zato lahko naboru dodate samo sklop. To vrne ugnezdeni niz:

setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (newSet)
tisk (setC)
Izhod: {1, (1, 6), 3}

Nabor Python uporablja isdisjoint () metoda za preverjanje, ali sta dve množici ločeni. Nato vrne logično vrednost:

setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
print ("{{da je setA disjument B" .format (findDisjoint))
Rezultat: Napačno je, da je setA disjument B

Če želite preveriti, ali je niz podnabor drugega, zamenjajte isdisjoint () s issubset ():

findSubset = setA.issubset (setB)

Element lahko odstranite iz niza:

setA = {1, 3, 5}
setA.remove (5)
tisk (setA)
Izhod: {1, 3}

The jasno () metoda počisti elemente v nizu in vrne prazen niz:

setA = {1, 3, 5}
setA.clear ()
tisk (setA)
Izhod: set ()

Iz nabora lahko odstranite poljuben element in z vrednostjo vrnete njegovo vrednost set.pop () metoda:

setA = {1, 3, 5}
print (setA.pop ())

Nabor Python lahko posodobite tudi z metodo update ():

setA = {1, 'b'}
setB = {2, 4, 5,}
tiskanje (setA.update (setB))
tisk (setA)
Izhod: {1, 2, 4, 5, 'b'}

Igrajte se z nabori Python

Čeprav smo videli, kako lahko uporabljate nabor v Pythonu, še vedno obstajajo drugi praktični načini njegove uporabe v vaši kodi. Kot ste videli, vam lahko celo pomaga med čiščenjem podatkov s Pythonom.

Poleg nabora imajo druge vrste podatkovnih nizov ali nizi Python veliko uporab in različnih aplikacij. Poskusite se poigrati z njimi, da se bolje obesite.

E-naslov
Kako delujejo nizi in seznami v Pythonu

Polji in seznami so nekatere najbolj uporabne podatkovne strukture pri programiranju - čeprav jih le malo ljudi uporablja v celoti.

Preberite Naprej

Sorodne teme
  • Programiranje
  • Python
O avtorju
Idowu Omisola (Objavljeno 60 člankov)

Idowu je navdušen nad vsemi pametnimi tehnologijami in produktivnostjo. V prostem času se poigra s kodiranjem in preklopi na šahovnico, ko mu je dolgčas, a se občasno rad tudi odmakne od rutine. Njegova strast do tega, da ljudem kaže pot okoli sodobne tehnologije, ga spodbuja, da piše več.

Več od Idowu Omisola

Naročite se na naše novice

Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!

Še en korak…!

Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.

.