Найти - Пользователи
Полная версия: как создать вложенный список через цикл for
Начало » Python для новичков » как создать вложенный список через цикл for
1 2
alex925
MiK
list1 = L1
Так будет только поверхностная копия создана. Более правильно будет использовать модуль copy. Ну пример использования, я уже привёл.
Vasiliy
alex925
Vasiliy
вот это способ помог! спсибо за ответ. Просто присваивание не прокатывало, результат был такой же
MiK
alex925
Что значит поверхностное?
Он полностью срезает вместе с вложениями, а присваивание вообще не копирует.
alex925
>>> a = [1, 2, 3, [4, 5]]
>>> b = a[:]
>>> b
[1, 2, 3, [4, 5]]
>>> a[3][0] = 100
>>> a
[1, 2, 3, [100, 5]]
>>> b
[1, 2, 3, [100, 5]]
>>> 
Это значит, что вложенные в список коллекции не копируются, а создаётся только ссылка на оригинал и могут возникать вот такие неприятные последствия. Чтобы такого небыло, нужно использовать модуль copy.

P.S Все это описывается у Лутца, если бы ты прочёл эту книгу, то знал это.
MiK
alex925
И правда, отдельно лежит только срезаемый список, а к вложенным перекрёстные. Ясно, спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB