Datastrukturer – gratis prøvekapittel: Lister

Teori Lister

Lister består av flere elementer i en bestemt rekkefølge. Vi kan lage en liste ved å liste opp elementene omsluttet av hake-parenteser. I koden nedenfor har vi laget en liste bestående av tre tall og en tekststreng.

Kommandoen L[k] gir oss element nummer k i listen L. Vær oppmerksom på at indeksen starter på #0#, slik at L[0] er det første elementet i listen. I en liste med n elementer har siste element indeks #n-1#. I lister går indeksen også motsatt vei, slik at siste element i en liste har indeks #-1#, og nest siste element har indeks #-2#, og så videre. Dette er et godt verktøy når vi er på jakt etter de siste elementene i en liste.

Nedenfor har vi laget en liste #\texttt{L}# med fire elementer. Vi har deretter printet elementnummer #1#, #3#, #-1# (det vil si det siste elementet) og #-2# (de nest siste elementet).

Prøv selv nedenfor. Klikk på Knappen som får programmet til å kjøre. for å kjøre koden. Klikk på Rediger-knappen som ser ut som en blyant. for å komme tilbake til koden.

Lister har flere metoder. Dersom vi har kalt en liste L, kan vi blant annet bruke en sorteringsmetode L.sort(). Denne sorterer elementene i stigende rekkefølge. Tabellen nedenfor viser noen av de viktigste metodene. Når du kjører denne kommandoen, vil listen bli omdefinert. Vi sier at sort-metoden er «in place».

Kode Forklaring
L[i] Plukker ut element nr i
L[-1] Det siste elementet i L
L[i:j] Elementene med indeks fra og med i til j
L[i::j] Elementene med indeks fra og med indeks i, der indeksen øker med j til indeksen er høyere enn antall element i listen
L.append(a) Legger a til i listen som siste element
len(L) Antall elementer i L
L.sort() Sorterer listen i stigende rekkefølge
L.sort(reverse=True) Sorterer listen i synkende rekkefølge
L.pop() Fjerner siste element fra listen
L.pop(i) Fjerner element med indeks i fra listen
L.remove(a) Fjerner første forekomst av a fra listen.
del L(i) Fjerner element med indeks i fra listen
L.reverse() Snur rekkefølgen på elementene i listen
max(L) Gir største tall i listen
min(L) Gir minste tall i listen
sum(L) Summerer elementene i listen

Forskjellige datastrukturer har forskjellige metoder. Disse metodene vil du lære senere i kurset.

Cappelen Damm Kontakt: cda-matematikk@cappelendamm.no | Hva er Student? | Personvernerklæring | Rettigheter