Tuple i Python

En tuple är en samling av objekt i en bestämd ordning som inte går att ändra på efter att tuplen har deklarerats. En tuple är alltså oförändlig, så kallad immutable (mer om detta i senare avsnitt)

Vad är en tuple i Python?

En tuple påminner väldigt mycket om en array. Till skillnad från arrayen, är det inte möjligt att ändra värden i en skapad tuple. Det innebär att när du väl har skapat en tuple så kommer värderna i tupeln förbli densamma tills dess att tupeln tas bort.

Hur skapar man en tuple i Python?

Likt en array, skapar du en tuple med följande syntax:

tuplenamn = (värde1, värde2, värde3, osv)

Först ger man tupeln ett namn, sedan tilldelar man alla värden inom en parantes ( ), där varje värde är separerade med ett kommatecken “,”. Observera att en tuple skapas med rundparantes, till skillnad från arrayen som skapas med hakparanteser [ ].

Hur man skapar en tuple – Exempel

En tuple skapas enkelt i Python. Ta följande exempel:

djur_tuple = ("Katt", "Hund", "Fisk", "Ko")

print(djur_tuple)
print(type(djur_tuple))
print(djur_tuple[1])
print(type(djur_tuple[1]))

Utskriften blir:

('Katt', 'Hund', 'Fisk', 'Ko')
<class 'tuple'>
Hund
<class 'str'>

Observera att liksom arrayer, är första elementet indexerat med 0. Anropar man elementet på plats 1, returneras alltså Hund.

Tuples är oförändliga – inmutable

Du kan inte ändra värderna i en tuple. Följande kod orsakar alltså ett fel vilket gör att programmet krashar.

djur_tuple = ("Katt", "Hund", "Fisk", "Ko")
djur_tuple[0] = "Åsna"
TypeError: 'tuple' object does not support item assignment

Istället måste du ta bort tupeln helt. Det kan göras genom det reserverade ordet del() (delete). Du kan sedan skapa tupeln på nytt:

del(djur_tuple)
djur_tuple = ("Åsna", "Hund", "Fisk", "Ko")

Var därför nogrann med vilken datatyp du väljer för att lagra värden i. Vet du att det är hög sannolikhet att värdena kommer förändras, är arrayer att föredra.

Bakåt    |    Framåt