Hur man konverterar en lista till en uppsättning i Python

Affärsman som använder bärbar dator på kontoret

Du kan konvertera en lista till en uppsättning i Python.

Bildkredit: Poike/iStock/GettyImages

Listor och uppsättningar i Python innehåller båda grupper av objekt, men det finns viktiga skillnader mellan de två. Speciellt är uppsättningar användbara för att utföra ett brett spektrum av operationer såsom fackföreningar och korsningar, medan listor har färre matematiska operationer men är användbara för att söka efter specifika objekt – särskilt med dubbletter – och organisera data. Av många anledningar kan du behöva konvertera en lista till en uppsättning i Python, och det finns en enkel funktion du kan använda för att göra detta.

Python-listor och uppsättningar förklaras

Den viktigaste skillnaden mellan en lista och en uppsättning i Python är att en lista kan innehålla dubbletter av element, medan en uppsättning endast innehåller unika element. Till exempel, om du har en lista med testresultat definierade som "scores=[14, 20, 13, 20, 15]," listan berättar varje värde, men om du konverterar det till en uppsättning, tar det bort dubbletten och lämnar {14, 20, 13, 15}.

Dagens video

En annan skillnad är att hakparenteser används för listor, medan lockiga parenteser används för set. Saker och ting kompliceras lite av att en Python-ordbok också använder parenteser, men där består varje post av själva värdet och en "nyckel" åtskilda av ett kolon.

Det är viktigt att komma ihåg att du kan använda strängar, heltal, flytande objekt eller andra objekt som en del av en uppsättning eller en lista, och dessa kan också blandas i samma uppsättning eller lista. Så, precis som du kan ha en uppsättning siffror i Python, kan du också konstruera en Python-uppsättning av strängar.

Konvertera en lista till en uppsättning

Processen för att konvertera en lista till en uppsättning i Python är enkel. Först definierar du listan på ett sätt som är vettigt för informationen i den. Säg till exempel att du vill definiera en lista med namn, kan du skriva names=['Lee', 'Mike', 'Jamie', 'Mike', 'Sarah'] notera hakparenteserna, citattecken runt strängarna (namnen) och kommatecken som skiljer varje post åt.

För att konvertera den här listan till en uppsättning använder du kommandot uppsättning(), där du sätter namnet på listan du vill konvertera mellan parenteserna. Så i det här fallet kan du skriva set (namn) för att konvertera namnen i listan till en uppsättning, och du kan tilldela den en variabel som "unika namn" och visa resultatet med tryck (unika namn), vilket är funktionellt likvärdigt med print (uppsättning (namn)) men snyggare. Du bekräftar att detta har gjorts korrekt genom att notera att resultatet använder parenteser, och "Mike" ingår bara en gång.

Hela koden ser ut så här:

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

unika namn=set (namn)

print('Unika namn: ', unika namn)

I det här fallet har "Unika namn:" lagts till i utgången för presentationsändamål.

Python: Ställ in på listkonvertering

Du kan också köra samma konvertering i motsatt riktning, och processen är i princip densamma, förutom att du använder lista() kommando på en uppsättning snarare än tvärtom. Det betyder att du behöver en uppsättning att börja med, som du enkelt kan definiera genom att välja en variabel som "big_set" och sedan lägga till innehållet, separerat med kommatecken och inom parentes. Du skulle kunna skriva big_set={1, 3, 4, 5, 7, 8, 9, 11, 12, 14, 15, 17} för att definiera en uppsättning heltal eller andra värden.

För att konvertera detta till en lista, definierar du en variabel (säg "big_list") och använder lista() kommando, så du skriver något i stil med big_list=lista (big_set) och då print (big_list) för att visa resultatet. Så hela koden är:

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

big_list=lista (big_set)

print (big_list)

Det här fallet ger inte listan ett namn, så det returnerar bara listan. Observera att om du konverterar en lista till en uppsättning och sedan tillbaka igen, förlorar du alla upprepade värden i den första konverteringen, och de kommer inte tillbaka.