Du tror b = a lager en kopi av lista
Handler om: Liste
b = a kopierer ikke lista — det limer en ny navnelapp på den SAMME lista. Endringer gjennom det ene navnet (b.append, b[0] = ...) synes gjennom det andre. En ekte kopi lager du med b = list(a). Fella er lumsk fordi koden ser riktig ut og feilen først synes et helt annet sted.
Eksempel
I Game of Life skriver du ny = self.celler i stedet for å bygge et nytt rutenett — da skriver du rett i det gamle mens du teller naboer, og generasjonen blir feil.
Slik tenker du riktig om det
Tenk navnelapp, ikke boks: b = a limer en lapp til på samme liste. Spør deg selv «hvor mange LISTER finnes det her?» — tilordning lager aldri en ny. Trenger du en ny, si det eksplisitt: list(a).