Du tror listemetoder må tilordnes tilbake
Handler om: Liste, Streng (tekst)
Strenger kan ikke endres — `tekst.upper()` lager en ny streng du må ta vare på. Lister er motsatt: `liste.append(3)` endrer lista på plass og returnerer `None`. Skriver du `liste = liste.append(3)`, kaster du lista og sitter igjen med `None`.
Eksempel
Etter `tallene = tallene.append(5)` er `tallene` blitt `None`, og neste linje krasjer.
Slik tenker du riktig om det
Del metodene i to: de som *lager noe nytt* (`upper`, `sorted`) må tilordnes; de som *endrer på plass* (`append`, `sort`) skal ikke. Returverdien `None` er selve signalet om at noe ble endret på plass.
Slik ser det ut i kode
Slik gikk det galt
tallene = tallene.append(5) # tallene blir None Slik fikser du det
tallene.append(5) # lista endres på plass