Du tror .copy() kopierer alt innholdet
Handler om: Liste, Mange objekter i en liste
`b = a.copy()` lager en ny ytre liste, men elementene inni er de samme objektene. Er lista nøstet, deler kopiene fortsatt de indre listene: endrer du `b[0][0]`, endrer du også `a[0][0]`. Kopien er grunn — bare ett lag dypt.
Eksempel
Du kopierer et rutenett, endrer én rute i kopien, og oppdager at originalen endret seg også.
Slik tenker du riktig om det
En grunn kopi er som å skrive av en handleliste der det står «se lappen på kjøleskapet». Du har din egen lapp, men peker på samme kjøleskap.
Slik ser det ut i kode
Slik gikk det galt
rutenett = [[0, 0], [0, 0]]
kopi = rutenett.copy()
kopi[0][0] = 9 # endrer også rutenett[0][0] Slik fikser du det
import copy
kopi = copy.deepcopy(rutenett) # nytt hele veien ned