Skapa en Mängd i Python: Definiera Oordnade Samlingar
Ett set i Python är en oordnad samling av unika element. Till skillnad från listor eller tupler tillåter set inte dubbletter, vilket gör dem idealiska för operationer som att ta bort dubbletter eller utföra matematiska setoperationer. Set är muterbara, vilket betyder att deras element kan läggas till eller tas bort, men datan inuti setet måste vara oföränderlig (t.ex. nummer, strängar eller tupler).
Notera
Ett set kan inte innehålla ordböcker eller listor eftersom båda är muterbara datatyper.
Det finns två huvudsakliga sätt att skapa ett set i Python:
Använda måsvingar
{}
med element separerade av kommatecken;Använda funktionen
set()
.
Här är några viktiga punkter om set:
De är muterbara: du kan lägga till eller ta bort element från ett set, men setet självt måste innehålla oföränderliga element;
Dubbletter: om dubbletter läggs till i ett set tas de automatiskt bort;
Oordnade: ordningen av element i ett set är inte garanterad och kan variera;
Olika Datatyper: set kan innehålla element av olika datatyper, såsom strängar, heltal eller tupler.
Låt oss definiera ett set med hjälp av funktionen set()
:
# Creating a set which contains strings movie_set = set("Interstellar") print(movie_set)
Nästa, låt oss definiera ett set av populära filmer med hjälp av måsvingar:
# Creating a set of movies using curly braces movies = {"Inception", "Interstellar", "Tenet", "Dunkirk", "Tenet"} print(movies)
Dubbletter som "Tenet"
tas automatiskt bort när uppsättningen skapas.
Begränsningar vid skapande av uppsättningar
Syntaxen för att skapa en uppsättning med hjälp av set()
-funktionen har specifika krav. Om du försöker skicka flera argument direkt, som:
python
Kommer du att stöta på ett TypeError
, eftersom set()
-funktionen förväntar sig en enda iterabel som sitt argument, inte flera separata värden.
För att skapa en uppsättning med flera element måste du tillhandahålla dem som en enda iterabel:
# Using a list `[]` movies = set(["Tenet", "Dunkirk", "Inception"]) print(movies)
# Using a tuple `(,)` movies = set(("Tenet", "Dunkirk", "Inception")) print(movies)
Swipe to start coding
Låt oss börja öva med mängder.
- Initiera mängden
nolan_movies
med följande filmer:"Inception"
,"The Dark Knight"
,"Interstellar"
,"Tenet"
. - Använd klammerparenteser (
{}
) för att skapa mängden.
Lösning
Tack för dina kommentarer!