Python-set är en unik bokstav för att filtrera distinkta värden i en lista eller en uppsättning objekt. Till skillnad från en Python-lista, ordlista eller tupel accepterar den inte dubbletter. Så det kan vara ett värdefullt datarengöringsverktyg.

Men hur kan du skapa en uppsättning och använda den i Python? Vi kommer att förklara det i det här inlägget.

Funktioner i Python-uppsättningar

Förutom att inte acceptera dubbletter, har en uppsättning bokstavligen andra egenskaper som skiljer den från andra datatyper. Här är några av dess funktioner:

  • Det är oföränderligt: ​​det betyder att du inte kan ändra värdena för en uppsättning när du skapat den.
  • En uppsättning bokstavlig returnerar dynamiskt arrangemang varje gång du skapar en. I grund och botten är objekten i en uppsättning oordnade.
  • Eftersom den presenterar oordnade objekt, till skillnad från lista och ordbokslitteratur, kan du inte få värdena för en uppsättning efter deras index.

Hur man skapar och använder en Python-uppsättning

instagram viewer

Nu när du känner till de grundläggande funktionerna i en Python-uppsättning. Låt oss se några av de sätt du kan använda det i ditt program.

Du använder lockiga hängslen för att skapa en uppsättning i Python. Så en uppsättning är en lista med objekt i lockiga parenteser åtskilda av kommatecken:

mySet = {1, 2, "MUO", "Google"}
skriva ut (mySet)
Utgång: {1, 2, "MUO", "Google"}

Du kan också konvertera vilken annan datatyp som helst till en uppsättning. Till exempel omvandlar koden nedan en lista till en uppsättning:

myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
skriva ut (mySet)
Utgång: {1, 2, "MUO", "Google"}

För att vara säker kan du kontrollera datatypen för mySet:

myList = [1, 2, "MUO", "Google"]
mySet = set (myList)
skriva ut (typ (mySet))
Produktion:

Som vi nämnde tidigare accepterar en uppsättning inte dubbletter. Den funktionen kan vara användbar när du vill rengöra en matris genom att ta bort dubbla värden.

Koden nedan tar bort dubbletterna i en lista och presenterar utdata som en Python-uppsättning:

myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = set (myList)
skriva ut (mySet)
Utgång: {1, 2, 'MUO', 'Google'}

För att visa filtreringsfunktionen för en uppsättning ytterligare räknas inte dubbla värden när du skriver ut längden på en uppsättning:

mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
skriva ut (len (mySet))
Utgång: 4

För att se ett bättre användningsfall för en uppsättning, låt oss ta bort dubbletterna i följande array. Det är som att fråga de unika nycklarna i en matris.

För att göra detta, konvertera en ordbok till en uppsättning:

myDiction = {
"Mango": 2, "Orange": 2, "morot": 2, "MUO": "tech",
"MUO": "web", "Google": "search", "Google": "engine"
}
uniqueSet = set (myDiction)
skriv ut ("Dessa är de unika nycklarna: {}". format (uniqueSet))
Output: Dessa är de unika nycklarna: {'Google', 'Mango', 'MUO', 'Orange', 'morot'}

Omvandlingen ovan tar automatiskt bort dubblerade objekt från matrisen.

Du kan ändra koden ovan med en for-loop för att göra det tydligare:

för unika i unikSet:
tryck (unika)

Du kan också gå med i två uppsättningar med union() metod:

setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
skriva ut (newSet)
Utgång: {1, 3, 4, 5, 6}

Koden ovan sammanfogar dock de två uppsättningarna och tar bort dubbla värden.

Alternativt kan du använda röret | funktion för att gå med i Python:

setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
skriva ut (newSet)
Utgång: {1, 3, 4, 5, 6}

Du kan också hitta skillnaden mellan två uppsättningar i Python:

setA = {1, 3, 5}
setB = {2, 4, 5,}
skriva ut (setA.difference (setB))
Utgång: {1, 3}

Du kan hitta den symmetriska skillnaden mellan uppsättningarna A och B. Denna metod returnerar objekten i endera uppsättningen men exkluderar deras korsningar. Låt oss se hur detta fungerar:

setA = {1, 3, 5}
setB = {2, 4, 5,}
skriva ut (setA ^ setB)
Utgång: {1, 2, 3, 4}

Alternativt kan du använda symmetrisk_skillnad () metod:

setA = {1, 3, 5}
setB = {2, 4, 5,}
skriva ut (setA.symmetric_difference (setB))
Utgång: {1, 2, 3, 4}

Låt oss också se hur du kan hitta skärningspunkten för uppsättningarna nedan:

setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
skriva ut (newSet)
Utgång: {1}

Medan du kan lägg till en lista i Python, du kan inte göra samma sak för en Python-uppsättning. Du kan dock lägga till ett objekt i slutet av en uppsättning med Lägg till fungera.

Men Python Lägg till funktionen accepterar ett argument, så du kan bara lägga till en tuple i en uppsättning. Detta returnerar en kapslad uppsättning:

setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (newSet)
skriva ut (setC)
Utgång: {1, (1, 6), 3}

Python-set använder isdisjoint () metod för att kontrollera om två uppsättningar är oskiljaktiga. Det returnerar sedan en boolean:

setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
skriva ut ("Det är {} att setA är en splittring av B" .format (findDisjoint))
Output: Det är falskt att setA är en splittring av B

För att kontrollera om en uppsättning är en delmängd av en annan, byt ut isdisjoint () med issubset ():

findSubset = setA.issubset (setB)

Du kan ta bort ett element från en uppsättning:

setA = {1, 3, 5}
setA.remove (5)
skriva ut (setA)
Utgång: {1, 3}

De klar() metoden rensar elementen i en uppsättning och returnerar en tom uppsättning:

setA = {1, 3, 5}
setA.clear ()
skriva ut (setA)
Utgång: ställa in ()

Du kan ta bort ett godtyckligt objekt från en uppsättning och returnera dess värde med hjälp av set.pop () metod:

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

Du kan också uppdatera en Python-uppsättning med uppdateringsmetoden ():

setA = {1, 'b'}
setB = {2, 4, 5,}
skriva ut (setA.update (setB))
skriva ut (setA)
Utgång: {1, 2, 4, 5, 'b'}

Spela runt med Pythonset

Även om vi har sett hur du kan använda en uppsättning i Python finns det fortfarande andra praktiska sätt att använda den i din kod. Som du har sett kan det till och med komma till nytta när du rengör data med Python.

Förutom en uppsättning har andra Python-datatyper eller matriser många användningsområden och olika applikationer. Försök att leka med dem för att få en bättre grepp om dem.

E-post
Hur arrays och listor fungerar i Python

Arrayer och listor är några av de mest användbara datastrukturerna vid programmering - även om få människor använder dem till sin fulla potential.

Läs Nästa

Relaterade ämnen
  • Programmering
  • Pytonorm
Om författaren
Idowu Omisola (60 artiklar publicerade)

Idowu brinner för allt smart teknik och produktivitet. På fritiden leker han med kodning och byter till schackbrädet när han är uttråkad, men han älskar också att bryta sig från rutinen då och då. Hans passion för att visa människor vägen runt modern teknik motiverar honom att skriva mer.

Mer från Idowu Omisola

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.