Я строю список списков. Я читаю элементы из входного файла. Я читаю в каждой строке в файле как строку-одиночный элемент в под-список в списке. Во-первых, я создал список списков:Почему «append» мутирует все элементы в списке?
>>> b = [[]] * 5
Однако, когда я попытался добавить элемент, я получил следующее:
>>> b[1].append("abc")
>>> b
[ ['abc'], ['abc'], ['abc'], ['abc'], ['abc'])
Почему append
изменения все вложенные списки? insert()
лучше в этой ситуации?
проблема является [[]] * 5 - посмотреть, что происходит с этим Ь = [[], [], [], [], []] – user3125280
посмотреть здесь HTTP : //stackoverflow.com/questions/6688223/python-list-multiplication-3-makes-3-lists-which-mirror-each-other-when – corn3lius