20. Изменение списка на месте в Python
В предыдущем уроке мы познакомились со списками в Python и большое внимание уделили методам для работы с ними. Напомню, списки являются изменяемой структурой и поэтому они поддерживают операции, которые изменяют объект списка на месте (Changing Lists In-Place).
Сразу начнем с примера, предположим у нас есть список чисел от 1 до 5
:
a = [1, 2, 3, 4, 5]
Как же вывести числа от 2 до 3
без цикла? Вы просто можете задать срез значений (slice) следующим образом:
a[1:3] # => [2, 3]
Так же можно получить элементы с определенным индексом и до конца списка:
a[1:] # => [2, 3, 4, 5]
Это еще не все. Вы можете заменять целый срез (или диапазон) элементов, например:
a[1:] = [6, 7] # => [1, 6, 7]
Обратите внимание, что четыре элемента списка были заменены на два. То есть срез элементов, находящийся слева от знака =
был удален, а элементы, указанные справа от знака =
добавлены на это место. Для лучшего понимания вот еще один пример:
a = [1, 2, 3, 4, 5, 10]
a[1:5] = [6, 7] # => [1, 6, 7, 10]
Таким же образом вы можете удалить лишние элементы в списке Python. Для этого достаточно присвоить срезу пустой список:
a = [1, 2, 3, 4, 5]
a[1:3] = [] # => [1, 4, 5]
В этом небольшом уроке вы узнали, как изменить список в Python без использования встроенных методов. Кстати, эти знания вам скоро понадобятся для решения задачи в этом курсе по Python.