Pythonsett er en unik bokstav for å filtrere forskjellige verdier i en liste eller en rekke elementer. I motsetning til en Python-liste, ordbok eller tupel godtar den ikke duplikater. Så det kan være et verdifullt verktøy for rengjøring av data.
Men hvordan kan du lage et sett og bruke det i Python? Vi forklarer det i dette innlegget.
Funksjoner av Python-sett
I tillegg til å ikke godta duplikater, har et bokstavelig sett andre egenskaper som skiller det fra andre datatyper. Her er noen av funksjonene:
- Det er uforanderlig: det betyr at du ikke kan endre verdiene til et sett når du oppretter det.
- Et sett bokstavelig returnerer dynamisk arrangement hver gang du oppretter et. I hovedsak er elementene i et sett uordnet.
- Fordi den presenterer uordnede elementer, i motsetning til liste- og ordbokstavler, kan du ikke få verdiene til et sett etter indeksene.
Hvordan lage og bruke et Python-sett
Nå som du kjenner de grunnleggende funksjonene til et Python-sett. La oss se noen av måtene du kan bruke det på i programmet ditt.
Du bruker krøllete bukseseler for å lage et sett i Python. Så et sett er en liste over elementer i krøllete bukseseler atskilt med komma:
mySet = {1, 2, "MUO", "Google"}
skriv ut (mySet)
Utgang: {1, 2, "MUO", "Google"}
Du kan også konvertere hvilken som helst annen datatype til et sett. For eksempel konverterer koden nedenfor en liste til et sett:
myList = [1, 2, "MUO", "Google"]
mySet = sett (myList)
skriv ut (mySet)
Utgang: {1, 2, "MUO", "Google"}
For å være sikker, kan du sjekke datatypen for mySet:
myList = [1, 2, "MUO", "Google"]
mySet = sett (myList)
skriv ut (skriv (mySet))
Produksjon:
Som vi nevnte tidligere, godtar ikke et sett duplikater. Denne funksjonen kan være nyttig når du vil rense en matrise ved å fjerne dupliserte verdier.
Koden nedenfor fjerner duplikatene i en liste og presenterer utdataene som et Python-sett:
myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = sett (myList)
skriv ut (mySet)
Utgang: {1, 2, 'MUO', 'Google'}
For å demonstrere filtreringsfunksjonen til et sett videre, teller det ikke duplikatverdier når du skriver ut lengden på et sett:
mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
skriv ut (len (mySet))
Utgang: 4
For å se et bedre brukstilfelle for et sett, la oss fjerne duplikatene i følgende matrise. Det er som å spørre etter de unike nøklene i en matrise.
For å gjøre dette, konverter en ordbok til et sett:
myDiction = {
"Mango": 2, "Orange": 2, "gulrot": 2, "MUO": "tech",
"MUO": "web", "Google": "search", "Google": "engine"
}
uniqueSet = sett (myDiction)
skriv ut ("Dette er de unike tastene: {}". format (uniqueSet))
Utgang: Dette er de unike tastene: {'Google', 'Mango', 'MUO', 'Orange', 'gulrot'}
Konverteringen ovenfor fjerner automatisk dupliserte elementer fra matrisen.
Du kan endre koden ovenfor ved hjelp av en for loop for å gjøre det tydeligere:
for unike i unike sett:
trykk (unike)
Du kan også bli med i to sett med fagforening () metode:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
skriv ut (newSet)
Utgang: {1, 3, 4, 5, 6}
Koden ovenfor blir imidlertid med i de to settene og fjerner dupliserte verdier.
Alternativt kan du bruke røret | funksjon for å bli med i sett i Python:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
skriv ut (newSet)
Utgang: {1, 3, 4, 5, 6}
Du kan også finne forskjellen mellom to sett i Python:
setA = {1, 3, 5}
setB = {2, 4, 5,}
skriv ut (setA.difference (setB))
Utgang: {1, 3}
Du kan finne den symmetriske forskjellen mellom sett A og B. Denne metoden returnerer elementene i begge settene, men ekskluderer skjæringspunktene. La oss se hvordan dette fungerer:
setA = {1, 3, 5}
setB = {2, 4, 5,}
skriv ut (setA ^ setB)
Utgang: {1, 2, 3, 4}
Alternativt kan du bruke symmetrisk_differanse () metode:
setA = {1, 3, 5}
setB = {2, 4, 5,}
skriv ut (setA.symmetric_difference (setB))
Utgang: {1, 2, 3, 4}
La oss også se hvordan du kan finne skjæringspunktet mellom settene nedenfor:
setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
skriv ut (newSet)
Utgang: {1}
Mens du kan legg til en liste i Python, kan du ikke gjøre det samme for et Python-sett. Du kan imidlertid legge til et element på slutten av et sett ved hjelp av Legg til funksjon.
Men Python Legg til funksjon godtar ett argument, slik at du bare kan legge til en tuple i et sett. Dette returnerer et nestet sett:
setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (newSet)
skriv ut (setC)
Utgang: {1, (1, 6), 3}
Python-settet bruker isdisjoint () metode for å sjekke om to sett er usammenhengende. Deretter returnerer en boolsk:
setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
skriv ut ("Det er {} at setA er en sammenhengende av B" .format (findDisjoint))
Output: Det er falskt at setA er en løsrivelse av B.
For å sjekke om et sett er et delmengde av et annet, bytt ut isdisjoint () med issubset ():
findSubset = setA.issubset (setB)
Du kan fjerne et element fra et sett:
setA = {1, 3, 5}
setA.remove (5)
skrive ut (setA)
Utgang: {1, 3}
De klar() metoden tømmer elementene i et sett og returnerer et tomt sett:
setA = {1, 3, 5}
setA.clear ()
skrive ut (setA)
Utgang: sett ()
Du kan fjerne et vilkårlig element fra et sett og returnere verdien ved hjelp av set.pop () metode:
setA = {1, 3, 5}
skriv ut (setA.pop ())
Du kan også oppdatere et Python-sett med oppdateringsmetoden ():
setA = {1, 'b'}
setB = {2, 4, 5,}
skriv ut (setA.update (setB))
skrive ut (setA)
Utgang: {1, 2, 4, 5, 'b'}
Spill rundt med Python-sett
Selv om vi har sett hvordan du kan bruke et sett i Python, er det fortsatt andre praktiske måter å bruke det på koden din. Som du har sett, kan det til og med komme til nytte mens du rengjør data med Python.
I tillegg til et sett, har andre Python-datatyper eller matriser mange bruksområder og forskjellige applikasjoner. Prøv å leke med dem for å få bedre tak i dem.
Arrays og lister er noen av de mest nyttige datastrukturene i programmering - selv om få mennesker bruker dem til sitt fulle potensiale.
Les Neste
- Programmering
- Python

Idowu brenner for alt smart teknologi og produktivitet. På fritiden leker han med koding og bytter til sjakkbrettet når han kjeder seg, men han elsker også å bryte seg fra rutinen en gang i blant. Hans lidenskap for å vise folk veien rundt moderne teknologi motiverer ham til å skrive mer.
Abonner på vårt nyhetsbrev
Bli med på vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.