Pythoni komplekt on ainulaadne literaal loendis või üksuste massiivi erinevate väärtuste filtreerimiseks. Erinevalt Pythoni loendist, sõnastikust või dupleksist ei aktsepteeri see duplikaate. Nii et see võib olla väärtuslik andmete puhastamise tööriist.

Kuid kuidas saate komplekti luua ja seda Pythonis kasutada? Selgitame seda selles postituses.

Pythoni komplektide omadused

Lisaks duplikaatide aktsepteerimata jätmisele on komplekti literaalil ka muid omadusi, mis eristavad teda teistest andmetüüpidest. Siin on mõned selle funktsioonid:

  • See on muutumatu: see tähendab, et pärast selle loomist ei saa te komplekti väärtusi muuta.
  • Komplekti literaal tagastab dünaamilise paigutuse iga kord, kui selle loote. Sisuliselt on komplekti üksused järjestamata.
  • Kuna see esitab korrastamata üksusi, erinevalt loendi- ja sõnaraamatuliitritest, ei saa te komplekti väärtusi nende indeksite järgi.

Kuidas luua ja kasutada Pythoni komplekti

Nüüd, kui teate Pythoni komplekti põhijooni. Vaatame mõningaid viise, kuidas saate seda oma programmis kasutada.

instagram viewer

Pythonis saate komplekti loomiseks kasutada lokkis traksidega. Nii et komplekt on komadega eraldatud lokkis sulgudes olevate üksuste loend:

mySet = {1, 2, "MUO", "Google"}
print (mySet)
Väljund: {1, 2, "MUO", "Google"}

Samuti saate teisendada mis tahes muu andmetüübi komplektiks. Näiteks teisendab allolev kood loendi komplektiks:

myList = [1, 2, "MUO", "Google"]
mySet = komplekt (myList)
print (mySet)
Väljund: {1, 2, "MUO", "Google"}

Kindluse huvides saate kontrollida nende andmetüüpi mySet:

myList = [1, 2, "MUO", "Google"]
mySet = komplekt (myList)
print (tüüp (mySet))
Väljund:

Nagu me varem mainisime, ei aktsepteeri komplekt duplikaate. See funktsioon võib olla kasulik, kui soovite massiivi puhastada, eemaldades duplikaatväärtused.

Allolev kood eemaldab loendis duplikaadid ja esitab väljundi Pythoni komplektina:

myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = komplekt (myList)
print (mySet)
Väljund: {1, 2, 'MUO', 'Google'}

Komplekti filtreerimisfunktsiooni täiendavaks demonstreerimiseks ei loeta komplekti pikkuse printimisel duplikaatväärtusi:

mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
print (len (mySet))
Väljund: 4

Komplekti parema kasutamise juhtumi nägemiseks eemaldame duplikaadid järgmisest massiivist. See on nagu massiivi unikaalsete võtmete pärimine.

Selleks teisendage sõnastik komplektiks:

myDiction = {
"Mango": 2, "Orange": 2, "porgand": 2, "MUO": "tech",
"MUO": "veeb", "Google": "otsing", "Google": "mootor"
}
uniqueSet = komplekt (myDiction)
print ("Need on unikaalsed võtmed: {}". formaat (uniqueSet))
Väljund: need on unikaalsed võtmed: {'Google', 'Mango', 'MUO', 'Orange', 'porgand'}

Ülaltoodud teisendamine eemaldab massiivist dubleeritud üksused automaatselt.

Ülaltoodud koodi saate muuta kasutades silmus for et see oleks selgem:

unikaalsete ainete jaoks
trükk (unikaalsed)

Samuti saate ühendada kaks komplekti liit () meetod:

setA = {1, 3, 5}
komplektB = {1, 4, 6}
newSet = setA.union (setB)
print (newSet)
Väljund: {1, 3, 4, 5, 6}

Kuid ülaltoodud kood ühendab need kaks komplekti ja eemaldab duplikaatväärtused.

Teise võimalusena võite kasutada toru | funktsioon Pythonis komplektide liitmiseks:

setA = {1, 3, 5}
komplektB = {1, 4, 6}
newSet = setA | setB
print (newSet)
Väljund: {1, 3, 4, 5, 6}

Samuti leiate Pythonis kahe komplekti erinevuse:

setA = {1, 3, 5}
komplektB = {2, 4, 5,}
print (setA.difference (setB))
Väljund: {1, 3}

Leiate hulga A ja B sümmeetrilise erinevuse See meetod tagastab üksused mõlemas komplektis, kuid välistab nende lõikepunktid. Vaatame, kuidas see töötab:

setA = {1, 3, 5}
komplektB = {2, 4, 5,}
print (setA ^ setB)
Väljund: {1, 2, 3, 4}

Teise võimalusena võite kasutada sümmeetriline_ erinevus () meetod:

setA = {1, 3, 5}
komplektB = {2, 4, 5,}
print (setA.symmetric_difference (setB))
Väljund: {1, 2, 3, 4}

Vaatame ka seda, kuidas leiate allpool olevate komplektide ristumiskoha:

setA = {1, 3, 5}
komplektB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
print (newSet)
Väljund: {1}

Kuni saate lisada Pythonis loendisse, ei saa Pythoni komplekti puhul sama teha. Kuid saate üksuse komplekti lõppu lisada, kasutades nuppu lisama funktsioon.

Aga Python lisama funktsioon aktsepteerib ühte argumenti, nii et saate lisada komplekti ainult dupleksi. See tagastab pesastatud komplekti:

setA = {1, 3, 5} komplektC = {1, 3}
newSet = 1, 6
setC.add (newSet)
print (setC)
Väljund: {1, (1, 6), 3}

Pythoni komplekt kasutab isdisjoint () meetod, et kontrollida, kas kaks komplekti on lahus. Seejärel tagastab tõeväärtuse:

setA = {1, 3, 5}
komplektB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
print ("See on {}, et setA on B lahutaja" .formaat (findDisjoint))
Väljund: on vale, et setA on B lahknemine

Kui soovite kontrollida, kas komplekt on teise alamhulk, asendage see isdisjoint () koos issubset ():

findSubset = setA.issubset (komplektB)

Elemendi saate komplektist eemaldada:

setA = {1, 3, 5}
setA.remove (5)
print (komplektA)
Väljund: {1, 3}

The selge () method puhastab hulga elemendid ja tagastab tühja komplekti:

setA = {1, 3, 5}
setA.clear ()
print (komplektA)
Väljund: seatud ()

Saate suvalise üksuse komplektist eemaldada ja selle väärtuse tagastada, kasutades set.pop () meetod:

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

Samuti saate Pythoni komplekti värskendada meetodiga update ():

setA = {1, 'b'}
komplektB = {2, 4, 5,}
print (setA.update (setB))
print (komplektA)
Väljund: {1, 2, 4, 5, 'b'}

Mängi Pythoni komplektidega ringi

Kuigi oleme näinud, kuidas saate Pythonis komplekti kasutada, on selle koodis rakendamiseks veel muid praktilisi viise. Nagu nägite, võib see Pythoni abil andmeid puhastades isegi kasuks tulla.

Lisaks komplektile on teistel Pythoni andmetüüpidel või massiividel palju kasutusvõimalusi ja mitmesuguseid rakendusi. Proovige nendega ringi mängida, et neid paremini riputada.

E-post
Kuidas massiivid ja loendid Pythonis töötavad

Massiivid ja loendid on ühed kõige kasulikumad andmestruktuurid programmeerimisel - kuigi vähesed inimesed kasutavad neid täies mahus.

Loe edasi

Seotud teemad
  • Programmeerimine
  • Python
Autori kohta
Idowu Omisola (60 artiklit avaldatud)

Idowu on kirglik kõigest nutikast tehnoloogiast ja tootlikkusest. Vabal ajal mängib ta kodeerimisega ringi ja lülitub igavuse korral malelauale, kuid armastab ka rutiinist lahti murda. Tema kirg näidata inimestele moodsate tehnikate kohta motiveerib teda rohkem kirjutama.

Veel Idowu Omisolalt

Telli meie uudiskiri

Liituge meie uudiskirjaga, kus leiate tehnilisi näpunäiteid, ülevaateid, tasuta e-raamatuid ja eksklusiivseid pakkumisi!

Veel üks samm !!!

Palun kinnitage oma e-posti aadress meilis, mille me just saatsime.

.