Найти - Пользователи
Полная версия: Подскажите по спискам
Начало » Python для новичков » Подскажите по спискам
1
lerr
Здравствуйте. Не могу разобраться в коде при изучении программы.
Список увеличивается таким кодом :
 def Enlarge(table):
    table[:] = Init(len(table[2])*2, table[2])[:]
    return table
Как тут используется запись
 table[:] =
? (где об этом можно почитать)
Если использовать просто
 table = Init(len(table[2])*2, table[2])[:]
, то при возврате списка, он не увеличивается.
vic57
это создание копии(нового обьекта)
 >>> l = []
>>> id(l)
4365312264
>>> id(l[:])
4355936968
https://habr.com/post/89456/
lerr
В данном случае возврат копии или того же самого объекта в чем отличаются?
Возвращается всегда увеличенный список, но конечный результат разный. При отладке, после возврата список в одном случае остается увеличенный, а в другом возвращается к первоначальному размеру. Вот тут я пока не понимаю.
Здесь полный код программы - http://uneex.org/LecturesCMC/PythonIntro2017/07_Dicts?action=AttachFile&do=view&target=emuhash.py
Rodegast
> В данном случае возврат копии или того же самого объекта в чем отличаются?

В данном случае всё содержимое списка заменяется содержимым другого списка. Ну и да, это пример того как делать не надо.
lerr
Спасибо.
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