Lister
Vi har fire tall: 10, 12, 13 og 15. Disse kan for eksempel være -verdier til en funksjon. I et pythonprogram kan vi lagre disse tallene i hver sin variabel og kalle variablene x1, x2, x3 og x4.
Spørsmål – koding
Hva må vi skrive av programkode for å lagre disse -verdiene i hver sin variabel og skrive dem ut?
I stedet for å lagre tallene i hver sin variabel, kan vi putte tallene inn i ei liste som vi kaller x. Da skriver vi
x = [10, 12, 13, 15]
x blir en listevariabel som inneholder 4 element: de 4 tallene 10, 12, 13 og 15. Det er viktig at det blir brukt hakeparenteser [ ] rundt innholdet av lista. For å skrive ut verdien av listevariabelen, skriver vi
print(x)
som vi ville ha gjort dersom vi for eksempel skulle skrive ut innholdet i en heltallsvariabel. Kjører vi de to kodelinjene over, vil vi få utskriften "[10, 12, 13, 15]", altså det samme som vi skrev at listevariabelen x skulle være.
Indeksering av lister
Tallene i lista over har et plassnummer, eller en indeks, som begynner på 0. Det betyr at tallet 10 har indeksen 0, tallet 12 har indeksen 1, og tallet 15 har indeksen 3. Dersom vi vil skrive ut det andre tallet, 12, skriver vi
print(x[1])
siden tallet 12 har indeks 1.
Oppgave – koding
Skriv koden som legger sammen de to første tallene i tabellen.
Dersom vi vil lage ei ny liste y med de tre siste tallene i lista (men ikke det første), skriver vi
y = x[1: 4]
Listevariabelen y får verdien [12, 13, 15]. Merk at vi får tallene fra og med indeks 1 til indeks 4, altså til og med indeks 3, én mindre enn det tallet som står etter kolonet.
Oppgave – koding
Vi har definert lista y slik:
y = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
Skriv koden som lager ei ny liste z med det tredje, det fjerde og det femte elementet i lista.
Legge til flere elementer i ei liste
Dersom vi ønsker å legge til tallet 20 i lista x over, bruker vi funksjonen, eller mer presist metoden, append().
x.append(20)
Tallet 20 legger seg bakerst og får indeksen 4 siden lista nå har 5 tall.
Antall elementer i ei liste
Vi kan hente ut antall elementer i ei liste med funksjonen len(). Dersom vi vil skrive ut hvor mange elementer det er i listevariabelen x, skriver vi
print(len(x))
En tekststreng er rett og slett ei liste der elementene er én og én bokstav (ett og ett tegn). Vi bruker
strengvariabel = "Tekststreng"
som eksempel. Det betyr at vi går ut ifra at vi har definert en variabel strengvariabel og satt den lik "Tekststreng".
Vi kan ikke legge til bokstaver og tegn med metoden append() slik som for lister. Dersom vi ønsker å legge "en" til "Tekststreng" i variabelen over, skriver vi
strengvariabel = strengvariabel + "en"
Innholdet i variabelen blir nå "Tekststrengen".
Spørsmål – koding
a) Hva tror du strengvariabel[0] er det samme som? Hva med strengvariabel[3]?
b) Hva tror du len(strengvariabel) er det samme som?
a) Algoritme
Vi ønsker å finne gjennomsnittet av de fire tallene 10, 12, 13 og 15. Skriv algoritmen til et slikt program. (Husk å få med forklarende tekst.)
b) Koding
Bruk kode i sammenheng med lister til å skrive koden til algoritmen i oppgave a). Legg de fire tallene i ei liste med navnet x.
c) Algoritme
Måten vi har regnet ut gjennomsnittet på i oppgaven over er tungvint. Tenk om det var 100 tall vi skulle finne gjennomsnittet av!
Summeringen av tallene kan gjøres med en for-løkke. Vi lager en variabel sum og lar for-løkken gå gjennom tallene i lista og legge dem til sum. Skriv om på algoritmen i a) slik at dette blir mulig.
d) Koding
Skriv koden til et program som passer til algoritmen over. Bruk for-løkke til summeringen av tallene i lista.
e) Algoritme
Vi ønsker at brukeren av programmet over kan skrive inn fire fritt valgte tall og få regnet ut gjennomsnittet av tallene. Skriv algoritmen til et slikt program.
f) Koding
Skriv koden til et program som passer til algoritmen over. Unngå å bruke variabler som ikke er lister.
Relatert innhold
Her får du øvingsoppgaver med lister og strengvariabler.