Du kan konvertere en liste til et sæt i Python.
Billedkredit: Poike/iStock/GettyImages
Lister og sæt i Python indeholder begge grupper af elementer, men der er vigtige forskelle mellem de to. Især er sæt nyttige til at udføre en lang række operationer såsom fagforeninger og kryds, mens lister har færre matematiske operationer, men er nyttige til at søge efter specifikke elementer - især med dubletter - og organisere data. Af mange grunde skal du muligvis konvertere en liste til et sæt i Python, og der er en simpel funktion, du kan bruge til at gøre dette.
Python lister og sæt forklaret
Den vigtigste forskel mellem en liste og et sæt i Python er, at en liste kan indeholde duplikerede elementer, mens et sæt kun indeholder unikke elementer. For eksempel, hvis du har en liste over testresultater defineret som "scores=[14, 20, 13, 20, 15]," er listen fortæller dig hver værdi, men hvis du konverterer den til et sæt, fjerner den duplikatet og efterlader {14, 20, 13, 15}.
Dagens video
En anden forskel er, at firkantede parenteser bruges til lister, mens krøllede parenteser bruges til sæt. Tingene kompliceres lidt af, at en Python-ordbog også bruger krøllede parenteser, men der består hvert element af selve værdien og en "nøgle" adskilt af et kolon.
Det er vigtigt at huske, at du kan bruge strenge, heltal, floats eller andre objekter som en del af et sæt eller en liste, og disse kan også blandes i samme sæt eller liste. Så ligesom du kan have et sæt tal i Python, kan du også konstruere et Python-sæt af strenge.
Konverter en liste til et sæt
Processen til at konvertere en liste til et sæt i Python er ligetil. Først definerer du listen på en måde, der giver mening for informationen i den. Sig for eksempel, at du vil definere en liste over navne, kan du skrive names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] noter de firkantede parenteser, anførselstegn omkring strengene (navnene) og kommaer, der adskiller hver indgang.
For at konvertere denne liste til et sæt, skal du bruge kommandoen sæt(), hvor du sætter navnet på den liste, du vil konvertere, mellem parenteserne. Så i dette tilfælde kan du skrive sæt (navne) at konvertere navnene på listen til et sæt, og du kan tildele den en variabel såsom "unikke navne" og vise resultatet ved hjælp af print (unikke navne), hvilket funktionelt svarer til print (sæt (navne)) men pænere. Du bekræfter, at dette er gjort korrekt ved at bemærke, at resultatet bruger krøllede parenteser, og "Mike" er kun inkluderet én gang.
Hele koden ser sådan ud:
names=['Lee', 'Mike','Jamie','Mike','Sarah']
unikke navne=sæt (navne)
print('Unikke navne:', unikke navne)
I dette tilfælde er "Unikke navne:" blevet tilføjet til outputtet til præsentationsformål.
Python: Indstil til listekonvertering
Du kan også køre den samme konvertering i den modsatte retning, og processen er grundlæggende den samme, bortset fra at du bruger liste() kommando på et sæt i stedet for omvendt. Det betyder, at du har brug for et sæt til at starte med, som du nemt kan definere ved at vælge en variabel såsom "big_set" og derefter tilføje indholdet, adskilt af kommaer og i krøllede parenteser. Du kunne skrive big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} at definere et sæt heltal eller andre værdier.
For at konvertere dette til en liste, definerer du en variabel (f.eks. "big_list") og bruger liste() kommando, så du skriver noget som f.eks big_list=liste (big_set) og så print (stor_liste) for at vise resultatet. Så den fulde kode er:
big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}
big_list=liste (big_set)
print (stor_liste)
Denne sag giver ikke listen et navn, så den returnerer kun listen. Bemærk, at hvis du konverterer en liste til et sæt og derefter tilbage igen, mister du eventuelle gentagne værdier i den første konvertering, og de kommer ikke tilbage.