Logga in för att kunna spara vad du har gjort.
<< Föregående
Hem
Nästa >>
VARNING! Fönstret är för smalt för att använda pythonlabbet.se fullt ut. Använd en enhet med tangentbord!

Tupler

I det här avsnittet kommer du att lära dig

Vad är en tupel och varför används tupler?

Tupler är mycket lika listor i Python. Precis som listor har de en ordning och de kan innehålla dubbletter och olika typer. Men det finns en viktig skillnad, och det är är en tupel inte går att ändra, den är oföränderlig (engelska: immutable).

Eftersom en tupel inte går att ändra kan Python använda tupler effektivare än listor. De tar mindre plats i minnet till exempel. Tuplers oföränderlighet gör också att de kan användas med lexikon och mängder, som vi ska se i senare avsnitt.

Nu ska vi visa hur en tupel skapas.

Exempel

Skapar en enkel tupel med två värden. Parenteser måste inte skrivas ut men det rekommenderas.

min_tupel = (3, 5) #kan också skrivas utan parenteser: 3, 5

Exempel

Flera saker som går att göra med listor går också att göra med tupler.

min_tupel = (2, 3, 5, 7, 11)

print(min_tupel[0]) #skriv ut det första elementet
print(min_tupel[0:3]) #de första tre elementen
print(5 in min_tupel) #finns 5 i tupeln?
  

Däremot går det inte att ändra i en tupel som sagt. Följande exempel visar hur felmeddelandet ser ut.

Exempel

Ett felmeddelande skrivs ut och programmet avslutas om man försöker ändra i en tupel.

tupel = ('a','a','c')
tupel[1] = 'b' #FEL
  

Logga in eller skapa konto för att spara dina framsteg och din kod.

Tre tärningskast

Koden nedan genererar alla möjliga resultat av tre träningskast. Listan alla_kast består av tupler med tre värden. Dessa tre värden representerar resultatet av ett kast med tre tärningar.

Listan innehåller alla 216 möjligheter. Hur många av dessa ger tärningssumman 7? Skriv endast ut antalet för att få rätt.

-- Programmets utskrifter --

Några knep med tupler

Tupler kan användas för att enkelt skapa flera variabler med olika värden på samma rad.

Exempel

Skapa flera variabler på en rad med tupler-syntax. Vi utnyttjar att parenteser inte är nödvändigt.

namn, ålder, språk = 'Emil', 38, 'Python'

Tack vare den här syntaxen är det enkelt att byta värde mellan två variabler. I de flesta programmeringsspråk krävs en tredje temporär variabel.

Exempel

Byt värden mellan två variabler.

a, b = 'a', 'b'
a, b = b, a #byte av värden
  

Ett vanlig användning av tupler är som ett sätt att låta funktioner returnera flera värden.

Exempel

En funktion som returnerar två värden i en tupel, omkretsen och arean av en rektangel. Även här använder vi en tupel utan parenteser för att det är så det brukar skrivas.

def rektangel(bredd, höjd):
    omkrets = 2*bredd + 2*höjd
    area = bredd * höjd
    return omkrets, area
  

Logga in eller skapa konto för att spara dina framsteg och din kod.

Vad gör koden?

Läs koden nedan och försök lista ut vad programmet skriver ut. Kör programmet efter du svarat och se om du fick rätt.

-- Programmets utskrifter --

Fråga: Vad kommer programmet ovan att skriva ut?

(3, 5) (3, 5)
(3, 5) (5, 3)
(5, 3) (3, 5)
(5, 3) (5, 3)
Status
Du har inte gjort klart någon uppgift än (0 st).