Występuje problem w moim programie i nie jestem pewien, co robię źle. Aby rozpocząć, utworzyłem pustą listę list. Na przykład:python dodający wartość do podlisty
>>> Lists = [[]]*12
co daje:
>>> Lists
[[], [], [], [], [], [], [], [], [], [], [], []]
Jednak gdy próbuje dołączyć wartość indywidualnego podmenu dodaje wartość do wszystkich podlist. Na przykład:
>>> Lists[2].append(1)
Daje:
>>> Lists
[[1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1], [1]]
Czy istnieje sposób, aby dołączyć do tylko jednej podlistę tak, że wynik będzie wyglądać następująco:
>>> Lists
[[], [], [1], [], [], [], [], [], [], [], [], []]
Możesz zajrzeć do [tego] (http://www.laurentluce.com/posts/python-list-implementation/), aby zrozumieć, dlaczego to dołącza się do wszystkich podlist . Jeśli spojrzysz na drugą cyfrę, możesz pomyśleć o 12 elementach na liście jako wskazujących na ten sam obiekt '[]'. Teraz, gdy dodajesz '1' do' Lists [2] ', dołącza on do obiektu listy współdzielonej. W związku z tym wszystkie elementy w 'Lists' wydają się mieć dołączone' 1'. – Nik