Lister

Teori

En liste er en samling med data. Det kan være tall, tekst, boolske variabler med mer. Hvert element har en indeks: plasseringen i lista. I Python har første element i ei liste indeks 0, andre element har indeks 1, så 2 osv.
Lister lages med klammeparanteser : [ ]
Når vi har en liste kan vi bruke [ ] til å se på ett eller flere elementer i lista gitt deres indeks. Lister og indeks

In [3]:
farger = ["red", "green", "blue", "yellow", "white", "black"]

print( farger[0] )      # se på element med indeks 0
print( farger[3] )      # se på element med indeks 3
print( farger[2:5] )    # se på elementene med indeks 2 til 5 (men indeks 5 blir ikke med)

første_farger = farger[:3]  # hent elementene fra start til indeks 3
siste_farger = farger[3:]   # hent elementene fra indeks 3 til slutt

print()
print(første_farger)
print(siste_farger)
red
yellow
['blue', 'yellow', 'white']

['red', 'green', 'blue']
['yellow', 'white', 'black']

Lister har mange nyttige funksjoner vi kan bruke på dem. Gitt en liste L og et element e:

  • L.append(e) Legger til elementet e bakerst i lista
  • L.remove(e) Fjerner (det første tilfellet av) elementet e fra lista
  • L.count(e) Teller hvor mange det er av e i lista
  • L.index(e) Finner posisjonen (indeksen) til e i lista
  • L.pop(i) Fjerner elementet på posisjon i fra lista
  • L.sort() Sorterer elementene fra lavest til høyest
  • len(L) Finner antall elementer i L
  • sum(L) Finner summen av alle tallene i lista
  • max(L) Finner det største av alle tallene i lista
  • min(L) Finner det minste av alle tallene i lista
In [2]:
karakterer = [6, 3, 5, 4, 3]

karakterer.append(6)           # Legg til karakteren 6 bakerst
karakterer.remove(3)           # Fjern den første 3-eren
karakterer.pop(1)              # Fjerner karakteren på posisjon 1

antall_karakterer = len(karakterer)
antall_6ere = karakterer.count(6)

print(karakterer)
print(f"Av totalt {antall_karakterer} karakterer er det {antall_6ere} 6-ere.")
[6, 4, 3, 6]
Av totalt 4 karakterer er det 2 6-ere.

Oppgaver

  1. Dyrepark
    1. Lag en liste som inneholder disse dyrene: tiger, ekorn, elefant og barkebille
    2. Legg til nebbdyr
    3. Fjern det første dyret fra lista
    4. Fjern elefant fra lista
    5. Skriv ut lista til konsollen. Ser den nå slik ut?
      [ekorn, barkebille, nebbdyr]
  2. Liste med heltall
    1. Lag en tom liste
    2. Bruk en for-løkke til å fylle lista med tallene fra og med 1 til og med 20.
    3. Skriv ut lista til konsollen. Pass på at den har med tallene 1 og 20.
    4. Regn ut summen av alle tallene i lista.
    5. Summen av alle tallene fra 1 til n kan regnes ut direkte: $\dfrac{n(n+1)}{2}$. Sjekk om dette stemmer med ditt resultat.
  3. Denne oppgaven simulerer at man triller en terning mange ganger. Eksempel på output fra ferdig program er vist nederst
    1. Bruk en for-løkke til å fylle en liste med 1000 tilfeldige heltall mellom 1 og 6. (Tips: randint)
    2. Skriv ut hvor mange det er av hvert kast
    3. Finn gjennomsnittsverdien
    4. (Litt tricky) Finn medianen
    5. (Ganske tricky) Finn typetallet Output fra terningprogram