Заменить n-элементов списка
Как заменить не последний элемент списка, а сразу три?
a=[1,2,3,4,5,6,7]
a[-1] = 0
Пока только приходит так:
a=[1,2,3,4,5,6,7]
a[-1] = 0
a[-2] = 0
a[-3] = 0
А какой самый красивый, компактный и быстрый способ?
Ответы (1 шт):
Автор решения: GrAnd
→ Ссылка
Компактно можно через срез:
a[-3:] = [0]*3
a[-3:] - адресует последние 3 элемента списка.
[0]*3 - создаёт список из трёх одинаковых элементов. Тоже самое, что и [0,0,0].
Ну а дальше одно присваивается другому, т.е. подсписок из последних трёх элементов заменяется на новый подсписок из трёх нулей. В результате a станет содержать список [1,2,3,4,0,0,0].