#python #list #slice
#python #Список #срез
Вопрос:
s[:] = s[::-1]
против
s = s[::-1]
Пожалуйста, объясните разницу между достижением результата с использованием вышеуказанных методов.
Ответ №1:
Первое изменяет сам исходный список. Второй создает новый список и присваивает его обратно переменной.
>>> s = [1,2,3]
>>> id(s)
2186036088200 # original id
>>> s[:] = s[::-1]
>>> id(s)
2186036088200 # still same id
>>> s = s[::-1]
>>> id(s)
2186036085000 # new id, because new list was created
Первый метод называется «назначение среза».