Уведомления

Группа в Telegram: @pythonsu

#1 Май 6, 2015 14:07:36

jony_77
Зарегистрирован: 2014-02-04
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Глобальная переменная

4kpt_III
Книгу почитайте хоть какую-нибудь…P.S. Да. Без копии не обойтись. Используется модуль copy, если вложение достаточно большое или просто полный срез если список линейный.


Обойтись… вот нашел..

a = [1, 2, 3, 4]
c = a[:]
a[1] = "HAHAHA"
print c

Офлайн

#2 Май 6, 2015 14:08:40

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Глобальная переменная

sander

Если вложение не линейное, то лучше deepcopy().

Офлайн

#3 Май 6, 2015 14:10:36

jony_77
Зарегистрирован: 2014-02-04
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Глобальная переменная

4kpt_III
sanderЕсли вложение не линейное, то лучше deepcopy().

а зачем copy, если и так работает ?

c = a[:] 

Отредактировано jony_77 (Май 6, 2015 14:11:28)

Офлайн

#4 Май 6, 2015 14:11:01

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Глобальная переменная

jony_77
Обойтись… вот нашел..

Полный срез создает копию объекта. Не без “поиска в глубину”.
А теперь показываю фокус:

a = [1, [2]]
b = a[:]
b[1][0] = 3
print a

Отредактировано 4kpt_III (Май 6, 2015 14:12:00)

Офлайн

#5 Май 6, 2015 14:14:19

jony_77
Зарегистрирован: 2014-02-04
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Глобальная переменная

Точно магия !
Но у меня вложенности нет. поэтому, всем спасибо!

Офлайн

#6 Май 6, 2015 15:28:05

sander
Зарегистрирован: 2015-02-19
Сообщения: 317
Репутация: +  53  -
Профиль   Отправить e-mail  

Глобальная переменная

4kpt_III, jony_77
это был пример

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version