Tuple i Python


Nyckelord: Tuple, Listor

En tuple i Python ä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änderlig, så kallad immutable. Mer om detta i avsnittet Mutable och Immutable datatyper i Python.

Vad är en tuple i Python?

En tuple påminner väldigt mycket om en lista. Till skillnad från en lista, är det inte möjligt att ändra värden i en tuple. Det innebär att när du väl har skapat en tuple så kommer värdena 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 rundparentes, till skillnad från listor som man skapar med hakparenteser [ ].

Exempel: Hur man skapar en tuple

Det är enkelt att skapa en tuple 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 listor, är första elementet indexerat med 0. Anropar man elementet på plats 1, returneras alltså Hund.

Tuples är oförändliga – inmutable


I programmeringssammanhang betyder “oföränderlig” (immutable) att ett objekts tillstånd eller data inte kan ändras efter att det har skapats. För tuples i Python innebär detta att när en tuple väl har skapats, kan dess element inte modifieras. Det betyder till exempel att du inte kan ändra, lägga till eller ta bort element från en tuple.

Denna oföränderlighet ger säkerhet och förutsägbarhet i koden. Eftersom tuples inte kan ändras, kan de användas för att säkerställa att vissa data förblir konstanta genom hela programmets körning. Detta kan vara särskilt användbart när man arbetar med flera funktioner eller moduler som inte ska kunna modifiera vissa data. Dessutom kan oföränderliga datatyper som tuples ibland bidra till optimering av minneshantering och prestanda i Python-program.

Exempel: Tuple är immutable

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 man göra genom att använda 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 noggrann 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 under programmets gång, är listor att föredra.

Vanliga frågor och svar: Tuples i Python

Vad är en tuple i Python?

En tuple är en samling av Python-objekt som är ordnade och oföränderliga.

Hur skapar man en tuple?

En tuple skapas genom att placera objekten inom parenteser (), separerade med kommatecken, t.ex. min_tuple = (1, 2, 3).

Kan man ändra element i en tuple?

Nej, tuples är oföränderliga, vilket betyder att du inte kan ändra dess element efter att de har skapats.

Hur kan man använda tuples i Python?

Tuples används ofta för att lagra data som inte ska ändras, returnera flera värden från en funktion, eller som nycklar i dictionaries.

Hur får man tag i ett element i en tuple?

Element i en tuple tillgås via index, precis som listor, t.ex. min_tuple[0] för att få första elementet.

Vad betyder “immutable” i programmeringssammanhang?

“Immutable” betyder oföränderlig och refererar till objekt vars tillstånd inte kan ändras efter att de har skapats. I Python är tuples ett exempel på en oföränderlig datatyp.

Vad betyder “mutable”?

“Mutable” betyder föränderlig och refererar till objekt som kan ändras efter att de har skapats. I Python är listor och dictionaries exempel på föränderliga datatyper.

To top