![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| sgrey |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 15.4.2006 Репутация: нет Всего: 4 |
После выполнения комманд в приведённом коде, почему-то при последней команде меняется L. Т.е. получается что значение в листе q также присваивается в последний вложенный эелемент в L. Не могу понять почему так происходит? или это какой-то хак в питоне?
|
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 1 Всего: 48 |
если нужно скопировать (склонировать) массив, используйте slice:
q = p[:] Тогда и не будет модификации листа. |
|||
|
||||
| sgrey |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 15.4.2006 Репутация: нет Всего: 4 |
мне нужно понять почему так просиходит. указателей в коде вроде бы нет, сам лист L вообще не трогается - почему при присвоении значения к q, также меняется L ?
Это сообщение отредактировал(а) sgrey - 23.10.2011, 18:10 |
|||
|
||||
| cutwater |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 592 Регистрация: 24.6.2008 Репутация: 1 Всего: 10 |
Указатели вроде бы нет, зато есть ссылки. Потому что внезапно в python все есть ссылка, и L, t - ссылки и элементы списков тоже ссылки. |
|||
|
||||
| sgrey |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 15.4.2006 Репутация: нет Всего: 4 |
вроде понял - когда присваем полностью новое значение к любому листу - то все данные остаются, но если меняем елемент - на него сохраняется ссылка. Спасибо. Забыл про это совсем
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |