Vad är en tuple?

En tuple är en ordnad samling av värden, precis som en lista – men med en viktig skillnad:

En tuple är oföränderlig – man kan inte ändra, lägga till eller ta bort element efter att den har skapats.

Tuples används när man vill:

  • spara en fast uppsättning värden,
  • skydda datan från att ändras av misstag,
  • använda tuples som nycklar i dictionaries eller i returnerade värden från funktioner.

Skapa en tuple:

person = ("Alice", 22)

Det här skapar en tuple med två värden: ett namn och en ålder.

Du kan också skapa en tom tuple:

empty = ()

Eller en tuple med bara ett värde (observera kommatecknet!):

one_item = ("test",)

Läsa från en tuple

Precis som med listor kan du läsa med index:

print(person[0])  # Alice
print(person[1])  # 22

Tuples kan inte ändras

person[0] = "Bob"  # FEL: TypeError

Du kan inte:

  • ändra ett värde
  • lägga till ett värde
  • ta bort ett värde

När används tuples?

När datan inte ska ändras
T.ex. koordinater:

position = (10, 20)

När du vill returnera flera värden från en funktion:

def get_name_and_age():
    return ("Alice", 22)

name, age = get_name_and_age()
print(name, age)

I loopar med enumerate() eller items() – ofta används tuple-uppackning:

for index, value in enumerate(["a", "b", "c"]):
    print(index, value)

När man jobbar med databaser:
SQLite-returnerade rader är tuples:

row = ("Alice", "TE22", 17)
name, school_class, age = row

Jämförelse: listor vs tuples

EgenskapLista ([])Tuple (())
Ändringsbar✅ Ja❌ Nej
Indexering✅ Ja✅ Ja
Loopbar✅ Ja✅ Ja
AnvändningNär innehåll kan ändrasNär innehåll ska vara fast
PrestandaLite långsammareLite snabbare

Omvandla mellan listor och tuples

# Lista till tuple
my_list = [1, 2, 3]
my_tuple = tuple(my_list)

# Tuple till lista
new_list = list(my_tuple)

Sammanfattning

  • En tuple är som en låst lista.
  • Bra när datan är fast, inte ska ändras, eller returneras som paket.
  • Används ofta bakom kulisserna i Python, t.ex. i databaser, funktioner och loopar.