Hvordan konvertere en liste til et sett i Python

click fraud protection
Forretningsmann bruker bærbar datamaskin på kontoret

Du kan konvertere en liste til et sett i Python.

Bildekreditt: Poike/iStock/GettyImages

Lister og sett i Python inneholder begge grupper av elementer, men det er viktige forskjeller mellom de to. Spesielt sett er nyttige for å utføre et bredt spekter av operasjoner som fagforeninger og veikryss, mens lister har færre matematiske operasjoner, men er nyttige for å søke etter spesifikke elementer – spesielt med duplikater – og organisere data. Av mange grunner kan det hende du må konvertere en liste til et sett i Python, og det er en enkel funksjon du kan bruke for å gjøre dette.

Python-lister og sett forklart

Den viktigste forskjellen mellom en liste og et sett i Python er at en liste kan inneholde dupliserte elementer, mens et sett bare inneholder unike elementer. Hvis du for eksempel har en liste over testresultater definert som «score=[14, 20, 13, 20, 15],» er listen forteller deg hver verdi, men hvis du konverterer den til et sett, fjerner den duplikatet og etterlater {14, 20, 13, 15}.

Dagens video

En annen forskjell er at firkantede parenteser brukes til lister, mens krøllete parenteser brukes til sett. Ting kompliseres litt av at en Python-ordbok også bruker krøllete parenteser, men der består hvert element av selve verdien og en "nøkkel" atskilt med et kolon.

Det er viktig å huske at du kan bruke strenger, heltall, flyter eller andre objekter som en del av et sett eller en liste, og disse kan også blandes i samme sett eller liste. Så, akkurat som du kan ha et sett med tall i Python, kan du også konstruere et Python-sett med strenger.

Konverter en liste til et sett

Prosessen for å konvertere en liste til et sett i Python er enkel. Først definerer du listen på en måte som gir mening for informasjonen i den. For eksempel, si at du vil definere en liste over navn, kan du skrive names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] legg merke til de firkantede parentesene, anførselstegnene rundt strengene (navnene) og kommaer som skiller hver oppføring.

For å konvertere denne listen til et sett, bruker du kommandoen sett(), hvor du setter navnet på listen du vil konvertere mellom parentesene. Så i dette tilfellet kan du skrive sett (navn) for å konvertere navnene i listen til et sett, og du kan tilordne den en variabel som "unike navn" og vise resultatet ved å bruke print (unike navn), som funksjonelt tilsvarer print (sett (navn)) men ryddigere. Du bekrefter at dette er gjort riktig ved å merke deg at resultatet bruker krøllete parenteser, og "Mike" er bare inkludert én gang.

Hele koden ser slik ut:

names=['Lee', 'Mike','Jamie','Mike','Sarah']

unike navn=sett (navn)

print('Unike navn: ', unike navn)

I dette tilfellet er "Unike navn:" lagt til utdataene for presentasjonsformål.

Python: Sett til listekonvertering

Du kan også kjøre den samme konverteringen i motsatt retning, og prosessen er i utgangspunktet den samme, bortsett fra at du bruker liste() kommando på et sett i stedet for omvendt. Dette betyr at du trenger et sett til å begynne med, som du enkelt kan definere ved å velge en variabel som "big_set" og deretter legge til innholdet, atskilt med komma og i krøllede parenteser. Du kunne skrive big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} for å definere et sett med heltall eller andre verdier.

For å konvertere dette til en liste, definerer du en variabel (f.eks. "big_list") og bruker liste() kommando, så du skriver noe sånt som big_list=list (big_set) og så print (stor_liste) for å vise resultatet. Så hele koden er:

big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17}

big_list=list (big_set)

print (stor_liste)

Denne saken gir ikke listen et navn, så den returnerer bare listen. Merk at hvis du konverterer en liste til et sett og deretter tilbake igjen, mister du eventuelle gjentatte verdier i den første konverteringen, og de kommer ikke tilbake.