Python: зачем использовать "list [:]", когда "список" относится к одной и той же вещи?
Рассмотрим список >>> l=[1,2,3].
В чем преимущество использования >>> l[:], когда >>> l печатает то же, что и предыдущий?
Спасибо.
Ответ 1
Создает (неглубокую) копию.
>>> l = [1,2,3]
>>> m = l[:]
>>> n = l
>>> l.append(4)
>>> m
[1, 2, 3]
>>> n
[1, 2, 3, 4]
>>> n is l
True
>>> m is l
False
Ответ 2
l[:] называется нотой среза. Его можно использовать для извлечения только некоторых элементов в списке, но в этом случае границы опущены, так что весь список возвращается, но из-за среза это будет фактически ссылкой на другой список, чем l который содержит одни и те же элементы. Этот метод часто используется для создания мелких копий или клонов.