Ho riscontrato un problema nel mio programma e non sono sicuro di ciò che sto facendo male. Per iniziare ho creato una lista vuota di liste. Ad esempio:python accodamento di un valore a una sottolista
>>> Lists = [[]]*12
che assicura:
>>> Lists
[[], [], [], [], [], [], [], [], [], [], [], []]
Tuttavia, quando si cerca di aggiungere un valore a un individuo sottolista si aggiunge il valore di tutti i sottoelenchi. Per esempio:
>>> Lists[2].append(1)
Dà:
>>> Lists
[[1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1]]
Esiste un modo per aggiungere ad un solo sottolista in modo che il risultato sarà simile:
>>> Lists
[[], [], [1], [], [], [], [], [], [], [], [], []]
Si consiglia di guardare [questo] (http://www.laurentluce.com/posts/python-list-implementation/) per capire il motivo per cui aggiunge a tutte le liste parziali . Se guardi la seconda figura, puoi pensare ai 12 elementi nella tua lista come ad indicare lo stesso oggetto '[]'. Ora quando aggiungi '1' al tuo' Elenchi [2] ', si aggiunge all'oggetto lista condivisa. Quindi, tutti gli elementi in 'Lists' sembrano avere il' 1' aggiunto. – Nik