Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 14, 2015 19:55:34

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

как создать вложенный список через цикл for

MiK
list1 = L1
Так будет только поверхностная копия создана. Более правильно будет использовать модуль copy. Ну пример использования, я уже привёл.

Офлайн

#2 Фев. 14, 2015 20:06:12

Vasiliy
Зарегистрирован: 2015-02-14
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

как создать вложенный список через цикл for

alex925
Vasiliy
вот это способ помог! спсибо за ответ. Просто присваивание не прокатывало, результат был такой же

Офлайн

#3 Фев. 14, 2015 20:15:23

MiK
Зарегистрирован: 2014-10-30
Сообщения: 191
Репутация: +  -1  -
Профиль   Отправить e-mail  

как создать вложенный список через цикл for

alex925
Что значит поверхностное?
Он полностью срезает вместе с вложениями, а присваивание вообще не копирует.

Отредактировано MiK (Фев. 14, 2015 20:17:01)

Офлайн

#4 Фев. 14, 2015 20:53:29

alex925
Зарегистрирован: 2015-01-08
Сообщения: 204
Репутация: +  14  -
Профиль   Отправить e-mail  

как создать вложенный список через цикл for

>>> 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 Все это описывается у Лутца, если бы ты прочёл эту книгу, то знал это.

Офлайн

#5 Фев. 14, 2015 21:00:14

MiK
Зарегистрирован: 2014-10-30
Сообщения: 191
Репутация: +  -1  -
Профиль   Отправить e-mail  

как создать вложенный список через цикл for

alex925
И правда, отдельно лежит только срезаемый список, а к вложенным перекрёстные. Ясно, спасибо.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version