Du tror append() legger inn elementene, ikke lista
Handler om: Liste
`a.append(b)` legger `b` inn som ETT element — er `b` en liste, får du en liste inni lista. Skal elementene inn hver for seg, trenger du `extend(b)`. Forskjellen viser seg først når du teller: lengden økte med 1 i stedet for med antallet.
Eksempel
Du slår sammen [1, 2] og [3, 4] og får [1, 2, [3, 4]] med lengde 3.
Slik tenker du riktig om det
append legger én ting i sekken, extend tømmer en pose oppi. Spør deg selv: skal posen inn, eller innholdet?
Slik ser det ut i kode
Slik gikk det galt
flat = []
for bit in deler:
flat.append(bit) # hele lista som ett element Slik fikser du det
flat = []
for bit in deler:
flat.extend(bit) # elementene hver for seg