Programmering nivå 1 med Python
Kapitel 7: Listor
I detta kapitel lär du dig att lagra flera värden i listor, använda index och bearbeta data med loopar.
Innehållsförteckning
Klicka på ett avsnitt för att hoppa direkt.
7.1 Vad är en lista
I många program behöver man lagra flera värden samtidigt. Istället för att skapa många variabler kan man använda en lista.
En lista är en datastruktur som kan innehålla flera värden.
Exempel
numbers = [3, 7, 2, 9]
Här skapas en lista som innehåller fyra tal. Listan sparas i variabeln numbers.
Man kan också ha listor med text.
names = ["Anna", "Erik", "Sara"]
När listor används
Listor används ofta när program behöver:
- lagra många värden
- bearbeta data
- gå igenom information med loopar
Skriva ut en lista
numbers = [3, 7, 2, 9]
print(numbers)
Programmet skriver då ut:
[3, 7, 2, 9]
Loop genom en lista
numbers = [3, 7, 2, 9]
for number in numbers:
print(number)
Programmet skriver ut varje värde i listan.
7.2 Index
Varje värde i en lista har en position. Denna position kallas index.
I Python börjar index alltid på 0.
Exempel
numbers = [3, 7, 2, 9]
Positionerna i listan är:
0 -> 3
1 -> 7
2 -> 2
3 -> 9
Hämta ett värde med index
numbers = [3, 7, 2, 9]
print(numbers[0])
Programmet skriver ut 3.
numbers = [3, 7, 2, 9]
print(numbers[2])
Programmet skriver ut 2.
Negativt index
Du kan också använda negativt index för att räkna från slutet av listan.
numbers = [3, 7, 2, 9]
print(numbers[-1])
Programmet skriver ut 9, alltså det sista värdet i listan.
Ändra ett värde i en lista
numbers = [3, 7, 2, 9]
numbers[1] = 10
print(numbers)
Resultat:
[3, 10, 2, 9]
Viktigt att tänka på
Eftersom index börjar på 0 är det lätt att göra fel. Om en lista innehåller fyra värden är det sista indexet 3, inte 4.
Övning
Skapa en lista med fyra färger:
colors = ["röd", "blå", "grön", "gul"]
Gör sedan följande:
- Skriv ut den första färgen.
- Skriv ut den sista färgen.
- Ändra den andra färgen till svart.
- Skriv ut hela listan.
7.3 Loopar över listor
Listor används ofta tillsammans med loopar. En loop gör det möjligt att gå igenom alla värden i listan.
Exempel
numbers = [3, 7, 2, 9]
for number in numbers:
print(number)
Programmet skriver ut:
3
7
2
9
Hur det fungerar
Loopen går igenom listan ett värde i taget. För varje varv i loopen sparas värdet i variabeln
number.
Exempel med beräkning
numbers = [3, 7, 2, 9]
for number in numbers:
print(number * 2)
Resultat:
6
14
4
18
Varför detta är användbart
Loopar över listor används när program behöver bearbeta många värden, göra beräkningar, skriva ut information och analysera data.
Övning
Skapa en lista med fem tal:
numbers = [2, 4, 6, 8, 10]
Gör sedan följande:
- Skriv ut alla tal i listan.
- Skriv ut varje tal multiplicerat med 3.
- Skriv ut summan av alla tal i listan.
7.4 Lägga till värden
Ibland behöver ett program lägga till nya värden i en lista. Det kan göras med metoden
append().
append() lägger till ett nytt värde i slutet av listan.
Exempel
numbers = [3, 7, 2, 9]
numbers.append(5)
print(numbers)
Resultat:
[3, 7, 2, 9, 5]
Exempel med flera värden
numbers = [1, 2, 3]
numbers.append(4)
numbers.append(5)
print(numbers)
Resultat:
[1, 2, 3, 4, 5]
Exempel med användarens inmatning
numbers = []
number = int(input("Skriv ett tal: "))
numbers.append(number)
print(numbers)
Listan var först tom men innehåller nu talet som användaren skrev.
Övning
Skapa en tom lista:
numbers = []
Gör sedan följande:
- Be användaren skriva tre tal.
- Lägg till varje tal i listan med
append(). - Skriv ut hela listan.
7.5 Bearbeta data
När data finns i en lista kan programmet bearbeta informationen. Det kan till exempel handla om att räkna ut summan av alla tal, medelvärdet, eller det största och minsta värdet.
Exempel: summa
numbers = [3, 7, 2, 9]
total = 0
for number in numbers:
total = total + number
print(f"Summan är {total}")
Exempel: medelvärde
numbers = [3, 7, 2, 9]
total = 0
for number in numbers:
total = total + number
average = total / len(numbers)
print(f"Medelvärdet är {average}")
Funktionen len() används för att ta reda på hur många värden som finns i listan.
Exempel: största värdet
numbers = [3, 7, 2, 9]
largest = numbers[0]
for number in numbers:
if number > largest:
largest = number
print(f"Största talet är {largest}")
Varför detta är viktigt
Att bearbeta data i listor används ofta när program ska analysera information, räkna ut statistik och hantera stora datamängder.
Övning
Skapa en lista med fem tal:
numbers = [4, 6, 2, 8, 10]
Gör sedan följande:
- Räkna ut summan av alla tal i listan.
- Räkna ut medelvärdet.
- Skriv ut resultaten.
7.6 Program med listor
Listor används ofta i program som behöver samla in och bearbeta flera värden.
Genom att kombinera listor, loopar och villkor kan program hantera större mängder data.
Exempel: samla in tal
numbers = []
for i in range(5):
number = int(input("Skriv ett tal: "))
numbers.append(number)
print(numbers)
Programmet skapar först en tom lista och lägger sedan till talen som användaren skriver.
Exempel: hitta största talet
numbers = [4, 7, 2, 9, 5]
largest = numbers[0]
for number in numbers:
if number > largest:
largest = number
print(f"Största talet är {largest}")
Exempel: räkna jämna tal
numbers = [4, 7, 2, 9, 5]
count = 0
for number in numbers:
if number % 2 == 0:
count = count + 1
print(f"Antal jämna tal är {count}")
Varför listor är viktiga
Listor används ofta när program behöver lagra många värden, bearbeta data, göra beräkningar och analysera information.
Övning
Skriv ett program som:
- skapar en tom lista
- ber användaren skriva fem tal
- lägger till talen i listan
- räknar ut summan av alla tal
- skriver ut både listan och summan
7.7 Övningar
I dessa övningar ska du använda listor, loopar, append(), index och beräkningar med data
i listor.
Övning 1
Skapa en lista med fem tal:
numbers = [3, 7, 2, 9, 5]
Gör sedan följande:
- Skriv ut hela listan.
- Skriv ut det första talet i listan.
- Skriv ut det sista talet i listan.
Övning 2
Skapa en lista med fem tal. Skriv ett program som skriver ut alla tal i listan med en for-loop.
Övning 3
Skapa listan:
numbers = [4, 6, 2, 8, 10]
Skriv ett program som räknar ut summan av alla tal i listan.
Övning 4
Skapa listan:
numbers = [4, 6, 2, 8, 10]
Skriv ett program som räknar ut medelvärdet av talen i listan. Tips: använd len().
Övning 5
Skriv ett program som:
- skapar en tom lista
- ber användaren skriva fem tal
- lägger till talen i listan med
append() - skriver ut hela listan
Övning 6
Skriv ett program som:
- skapar en lista med tal
- går igenom listan med en loop
- skriver ut alla jämna tal i listan
Övning 7
Skriv ett program som:
- skapar en lista med tal
- går igenom listan
- räknar hur många tal som är större än 5
Programmet ska skriva ut resultatet.
7.8 Reflektionsfrågor
- Vad är en lista i Python?
- Varför används listor i program?
- Vad betyder index i en lista?
- Varför börjar index på 0 i Python?
- Hur kan man gå igenom alla värden i en lista?
- Vad gör metoden
append()? - Hur kan man räkna ut summan av alla tal i en lista?
- Vad gör funktionen
len()när den används på en lista? - Ge ett exempel på när listor kan vara användbara i ett program.
- Varför används listor ofta tillsammans med loopar?