---
course: D0009E
topic: Listor och Kataloger
---
# Listor och Kataloger

## Föreläsning 8 – Listor (kapitel 10.1–10.10, 11.1–11.6)
Koncept: [[Listor]], [[Rekursion]]

- Slides: [lecture08_p3.pdf](../../meta/raw%20course%20dump/D0009E/viewer/files/Slides%20i%20.pdf/lecture08_p3.pdf)
- Kodexempel:
  - [letterCounts.py](../../meta/raw%20course%20dump/D0009E/viewer/files/exempel/små_exempel/f8/letterCounts.py) — räkna bokstäver
  - [sumFromTo.py](../../meta/raw%20course%20dump/D0009E/viewer/files/exempel/små_exempel/f8/sumFromTo.py) — summering
- Nyckelbegrepp: listor, index, append, len, traversering, nästlade listor, alias, kopia

## Föreläsning 9 – Rekursion på listor (kapitel 10.10–10.13)
Koncept: [[Listor]], [[Rekursion]], [[Kataloger]]

- Slides: [lecture09_p3.pdf](../../meta/raw%20course%20dump/D0009E/viewer/files/Slides%20i%20.pdf/lecture09_p3.pdf)
- Kodexempel:
  - [f8_chooseLargestSum.py](../../meta/raw%20course%20dump/D0009E/viewer/files/exempel/små_exempel/f9/f8_chooseLargestSum.py) — välj lista med störst summa
  - [f5_fact_fib.py](../../meta/raw%20course%20dump/D0009E/viewer/files/exempel/små_exempel/f9/f5_fact_fib.py) — fakultet och fibonacci
  - [fib.py](../../meta/raw%20course%20dump/D0009E/viewer/files/exempel/fib.py) — fibonacci
  - [f8_recursiveListExamples.py](../../meta/raw%20course%20dump/D0009E/viewer/files/exempel/små_exempel/f9/f8_recursiveListExamples.py) — rekursion på listor
  - [f10_copy.py](../../meta/raw%20course%20dump/D0009E/viewer/files/exempel/små_exempel/f9/f10_copy.py) — kopiering av listor
- Nyckelbegrepp: rekursion på listor, djup kopia, alias, fibonacci, fibonacci-rekursion

## Övning F8 – Listsummering och urval
Koncept: [[Listor]], [[Rekursion]]

- `sumRec(lst)` — summera alla tal i lst rekursivt.
- `sumIter(lst)` — summera alla tal i lst iterativt.
- `selectLargest(lstlst)` — ta en lista av listor, returnera aliasreferens till listan med störst summa.
- Lösning: [select_largest.py](../../meta/raw%20course%20dump/D0009E/viewer/files/Lösningar%20till%20övningsuppgifter/f8/select_largest-1.py)
- Nyckelbegrepp: listor, rekursion, iteration, alias, lista av listor

## Övning F9 – Histogram (kataloger/dictionaries)
Koncept: [[Kataloger]], [[Strängar]]

- `histogram(str)` — returnera katalog med tecken som nycklar och frekvens som värde.
- `histogram2(str)` — returnera lista av par (tecken, frekvens) utan katalog.
- `printHist(hist)` — skriv ut tabellformad utskrift av histogrammet.
- Lösning: [histogram.py](../../meta/raw%20course%20dump/D0009E/viewer/files/Lösningar%20till%20övningsuppgifter/f9/histogram-1.py)
- Nyckelbegrepp: dictionary, nyckel, värde, items(), frekvens, histogram

## Lab 3 – Ordlista (deadline: 2026-02-23)
Koncept: [[Kataloger]], [[Listor]], [[Funktioner]]

- Uppgift 0 (övning, ej betygsatt): menysystem för Lab 2-funktioner.
- Huvuduppgift: implementera ett ordlisteprogram (dictionary-baserat).
- Krav: välstrukturerad kod, dela upp i funktioner.
- Nyckelbegrepp: dictionary, listor, menysystem, filhantering (möjligt)
- Inlämning: filuppladdning i Canvas + redovisning för handledare
