Python kopa ir unikāls literāls, lai filtrētu atšķirīgas vērtības sarakstā vai vienumu masīvā. Atšķirībā no Python saraksta, vārdnīcas vai kopas tas nepieņem dublikātus. Tātad tas var būt vērtīgs datu tīrīšanas rīks.

Bet kā jūs varat izveidot kopu un izmantot to Python? Mēs to paskaidrosim šajā amatā.

Python komplektu iezīmes

Papildus dublikātu nepieņemšanai kopai literālim ir arī citas īpašības, kas to atšķir no citiem datu tipiem. Šeit ir dažas tās funkcijas:

  • Tas ir nemaināms: tas nozīmē, ka pēc tā izveides nevar mainīt kopas vērtības.
  • Komplekts burtiskais atgriež dinamisko izkārtojumu katru reizi, kad to izveidojat. Būtībā komplekta vienumi nav sakārtoti.
  • Tā kā tas parāda nesakārtotus vienumus, atšķirībā no saraksta un vārdnīcas literāļiem, kopas vērtības nevar iegūt pēc to rādītājiem.

Kā izveidot un izmantot Python kopu

Tagad, kad jūs zināt Python kopas pamatīpašības. Apskatīsim dažus veidus, kā to varat izmantot savā programmā.

Lai izveidotu komplektu Python, jūs izmantojat cirtainās lencītes. Tātad kopa ir vienumu saraksts cirtainajās iekavās, atdalīts ar komatiem:

mySet = {1, 2, "MUO", "Google"}
izdrukāt (mySet)
Izeja: {1, 2, "MUO", "Google"}

Varat arī konvertēt jebkuru citu datu tipu. Piemēram, zemāk esošais kods pārveido sarakstu par kopu:

myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
izdrukāt (mySet)
Izeja: {1, 2, "MUO", "Google"}

Lai pārliecinātos, varat pārbaudīt datu tipu mySet:

myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
drukāt (tips (mySet))
Izeja:

Kā jau minējām iepriekš, kopa nepieņem dublikātus. Šī funkcija var būt noderīga, ja vēlaties tīrīt masīvu, noņemot vērtību dublikātus.

Tālāk redzamais kods noņem dublikātus sarakstā un izvadi parāda kā Python kopu:

myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = set (myList)
izdrukāt (mySet)
Izeja: {1, 2, 'MUO', 'Google'}

Lai vēl vairāk parādītu kopas filtrēšanas funkciju, kad drukājat kopas garumu, tas neskaita dublikātu vērtības:

mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
drukāt (len (mySet))
Izeja: 4

Lai redzētu labāku kopas izmantošanas gadījumu, noņemsim šī masīva dublikātus. Tas ir tāpat kā vaicāt masīvā unikālās atslēgas.

Lai to izdarītu, pārveidojiet vārdnīcu par kopu:

myDiction = {
"Mango": 2, "Orange": 2, "burkāns": 2, "MUO": "tech",
"MUO": "tīmeklis", "Google": "meklēšana", "Google": "dzinējs"
}
uniqueSet = set (myDiction)
drukāt ("Tie ir unikālie taustiņi: {}". formāts (unikāls komplekts))
Rezultāts: šīs ir unikālās atslēgas: {'Google', 'Mango', 'MUO', 'Orange', 'burkāns'}

Iepriekš veiktā pārveidošana automātiski noņem no dublētiem vienumiem no masīva.

Jūs varat modificēt iepriekš minēto kodu izmantojot cilpu for lai padarītu to skaidrāku:

unikālām unikālā kopa:
druka (unikāli)

Varat arī savienot divus komplektus ar savienība () metode:

setA = {1, 3, 5}
kopaB = {1, 4, 6}
newSet = setA.union (setB)
drukāt (newSet)
Izeja: {1, 3, 4, 5, 6}

Tomēr iepriekš minētais kods savieno abas kopas un noņem vērtību dublikātus.

Alternatīvi, jūs varat izmantot cauruli | funkcija, lai savienotu kopas Python:

setA = {1, 3, 5}
kopaB = {1, 4, 6}
newSet = setA | setB
drukāt (newSet)
Izeja: {1, 3, 4, 5, 6}

Varat arī atrast atšķirību starp divām Python kopām:

setA = {1, 3, 5}
kopaB = {2, 4, 5,}
drukāt (setA.difference (setB))
Izeja: {1, 3}

Jūs varat atrast simetrisko atšķirību starp kopām A un B. Šī metode atgriež vienumus jebkurā komplektā, bet izslēdz to krustojumus. Apskatīsim, kā tas darbojas:

setA = {1, 3, 5}
kopaB = {2, 4, 5,}
drukāt (setA ^ setB)
Izeja: {1, 2, 3, 4}

Alternatīvi, jūs varat izmantot symmetric_difference () metode:

setA = {1, 3, 5}
kopaB = {2, 4, 5,}
drukāt (setA.symmetric_difference (setB))
Izeja: {1, 2, 3, 4}

Apskatīsim arī to, kā jūs varat atrast zemāk esošo kopu krustojumu:

setA = {1, 3, 5}
kopaB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
drukāt (newSet)
Izeja: {1}

Kamēr jūs varat pievienot sarakstam Python, jūs nevarat darīt to pašu Python komplektam. Tomēr kopas beigās varat pievienot vienumu, izmantojot pievienot funkciju.

Bet Python pievienot Funkcija pieņem vienu argumentu, tāpēc kopai varat pievienot tikai kopu. Tas atgriež ligzdoto kopu:

setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (newSet)
drukāt (setC)
Izeja: {1, (1, 6), 3}

Python kopa izmanto isdisjoint () metodi, lai pārbaudītu, vai divas kopas nav atdalītas. Pēc tam tiek atgriezta Būla vērtība:

setA = {1, 3, 5}
kopaB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
drukāt ("Tas ir {}, ka setA ir B disjoint". formāts (findDisjoint))
Rezultāts: Tas ir maldīgi, ka setA ir B nesakritība

Lai pārbaudītu, vai kopa ir citas apakškopa, nomainiet isdisjoint () ar issubset ():

findSubset = setA.issubset (kopaB)

Elementu varat noņemt no kopas:

setA = {1, 3, 5}
setA.remove (5)
drukāt (setA)
Izeja: {1, 3}

The skaidrs () metode notīra kopas elementus un atgriež tukšu kopu:

setA = {1, 3, 5}
setA.clear ()
drukāt (setA)
Izeja: iestatīt ()

Varat noņemt patvaļīgu vienumu no kopas un atgriezt tā vērtību, izmantojot set.pop () metode:

setA = {1, 3, 5}
drukāt (setA.pop ())

Varat arī atjaunināt Python kopu ar atjaunināšanas () metodi:

setA = {1, 'b'}
kopaB = {2, 4, 5,}
drukāt (setA.update (setB))
drukāt (setA)
Izeja: {1, 2, 4, 5, 'b'}

Spēlējiet apkārt ar Python komplektiem

Lai gan mēs esam redzējuši, kā jūs varat izmantot komplektu Python, joprojām ir citi praktiski veidi, kā to izmantot savā kodā. Kā redzējāt, tas var pat noderēt, tīrot datus ar Python.

Papildus komplektam citiem Python datu tipiem vai masīviem ir daudz lietojumu un dažādas lietojumprogrammas. Mēģiniet spēlēties ar viņiem, lai labāk viņus pakārtu.

E-pasts
Kā masīvi un saraksti darbojas Python

Masīvi un saraksti ir dažas no visnoderīgākajām datu struktūrām programmēšanā - lai gan tikai daži cilvēki tos izmanto, lai pilnībā izmantotu savas iespējas.

Lasiet Tālāk

Saistītās tēmas
  • Programmēšana
  • Python
Par autoru
Idowu Omisola (Publicēti 60 raksti)

Idowu aizrauj kaut ko gudru tehnoloģiju un produktivitāti. Brīvajā laikā viņš spēlējas ar kodēšanu un pāriet uz šaha galdiņu, kad viņam ir garlaicīgi, taču viņš mīl arī kādu laiku atrauties no rutīnas. Aizraušanās ar cilvēkiem parādīt moderno tehnoloģiju motivē rakstīt vairāk.

Vairāk no Idowu Omisola

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.