Lister
En LISTE samler flere verdier under ett navn: tall = [4, 8, 15].
Hver plass har et nummer, kalt INDEKS, og telleren starter på 0, så
tall[0] er det første elementet (4) og tall[2] er det tredje (15).
Negative indekser teller bakfra, så tall[-1] er det siste. Du kan
legge til et element med append(), og finne lengden med len().
tall = [4, 8, 15]
tall.append(16)
print(len(tall))
print(tall[0])
print(sum(tall))
Etter append er listen [4, 8, 15, 16]. Programmet skriver ut 4
(lengden), 4 (det første elementet) og 43 (summen). Med en
for-løkke kan du gå gjennom alle elementene: for x in tall: gir x
verdien av ett element om gangen.
| Uttrykk | Betyr | Svar |
|---|---|---|
tall[0] | første element | 4 |
tall[3] | fjerde element | 16 |
tall[-1] | siste element | 16 |
len(tall) | antall elementer | 4 |
sum(tall) | summen | 43 |
max(tall) | største verdi | 16 |
Tips
- Indeksen starter på 0, ikke 1. En liste med fire elementer har indeksene 0, 1, 2 og 3, og
tall[4]gir feilmelding. len(tall)er antall elementer, ikke indeksen til det siste. Det siste elementet har indekslen(tall) - 1.sum,maxogminvirker direkte på en liste av tall, så du slipper å skrive en løkke selv.
Eksempel: Gjennomsnitt av en liste
Listen er tall = [6, 9, 12]. Hva skriver print(sum(tall) / len(tall)) ut?
sum(tall)er 6 + 9 + 12 = 27len(tall)er antall elementer, altså 327 / 3er 9, og siden/alltid gir et desimaltall skriver programmet ut9.0. Dette er gjennomsnittet.
| Uttrykk | Verdi |
|---|---|
sum(tall) | 27 |
len(tall) | 3 |
sum(tall) / len(tall) | 9.0 |
Oppgaver
Prøv minst én oppgave på hvert nivå.
Lett(3)
L-21Hva skriver programmet liste = [5, 7, 9]; print(liste[0]) ut?
Vis fasit
- Indeks 0 er det første elementet
- 5
L-22Hva skriver print(len([3, 6, 9, 12])) ut?
Vis fasit
lenteller elementene: 3, 6, 9 og 12- 4
L-23Hva skriver print(sum([2, 3, 5])) ut?
Vis fasit
- 2 + 3 + 5
- 10
Middels(3)
M-21Hva skriver programmet tall = [4, 8, 15]; print(tall[2]) ut?
Vis fasit
- Indeksene er 0, 1, 2
- indeks 2 er det tredje elementet
- 15
| Indeks | Element |
|---|---|
| 0 | 4 |
| 1 | 8 |
| 2 | 15 |
M-22Hva skriver programmet tall = [4, 8, 15]; tall.append(16); print(len(tall)) ut?
Vis fasit
- Listen har 3 elementer
append(16)legger til ett- 4
M-23Hva skriver print(max([3, 11, 7])) ut?
Vis fasit
maxgir den største verdien blant 3, 11 og 7- 11
Vanskelig(3)
V-21Hva skriver programmet tall = [10, 20, 30]; print(tall[-1]) ut?
Vis fasit
- Negativ indeks teller bakfra
-1er siste element- 30
V-22Programmet starter med en tom liste liste = [], kjører for i in range(1, 5): liste.append(i * 2) og skriver ut liste. Hva skrives ut?
Vis fasit
range(1, 5)gir 1, 2, 3, 4- hvert tall dobles og legges til
[2, 4, 6, 8]
| i | i * 2 | liste etterpå |
|---|---|---|
| 1 | 2 | [2] |
| 2 | 4 | [2, 4] |
| 3 | 6 | [2, 4, 6] |
| 4 | 8 | [2, 4, 6, 8] |
V-23Hvilken indeks har tallet 15 i listen [4, 8, 15, 16]?
Vis fasit
- 4 har indeks 0
- 8 har indeks 1
- 15 har indeks 2