срез без начала и конца, то-есть вывод всего массива
: просто вернёт все цифры [ ]
А это как-то влияет на копирование по ссылке?
возвращает копию списка
А как это можно использовать?
Например? А что значит вот эта запись? lst = [] lst[:] = [0, lst, lst, 1]
lst[:] = [something, ...] дёргается как lst.__setitem__(slice(None, None, None), [something, ...]) простое lst[:] будет lst.__getitem__(slice(None, None, None))
лучше скажи кто так делает
Не знаю, я это случайно увидел.
Я не могу понять, почему будет такой странный вывод? Например: lst = [1, 5, 10] lst[:] = [1, 2, 4, lst, 82, lst, 107] print(lst) # [1, 2, 4, [...], 82, [...], 107] Что значит вот эти [...]?
вроде это что-то вроде обращения к тому же списку, в котором находится этот элемент попробуй написать print(lst[3]) - и если получишь тот же вывод что и при обычном lst (без индекса) - то так и есть
>>> lst = [1, 5, 10] >>> lst[:] = [1, 2, 4, lst, 82, lst, 107] >>> lst [1, 2, 4, [...], 82, [...], 107] >>> lst[3] [1, 2, 4, [...], 82, [...], 107] >>> lst[3][3] [1, 2, 4, [...], 82, [...], 107] >>> lst[3][3][3] [1, 2, 4, [...], 82, [...], 107] >>> lst[3][3][3][3] [1, 2, 4, [...], 82, [...], 107] >>>
Получается что-то вроде рекурсии. (lst[3] = lst)
circular reference.
Обсуждают сегодня