Вероятно, вы это уже знаете, но на всякий случай повторим основы.
В Python есть такое понятие как срезы списков. Это встроенный инструмент языка, позволяющий работать с определенной частью списка. Синтаксис среза следующий:
some_list[START:STOP:STEP]
START — индекс элемента, с которого должна начаться выборка, STOP — индекс элемента, перед которым диапазон выборки должен закончиться (т.е. элемент под этим индексом не входит в выборку), STEP — шаг (по умолчанию равен 1).
В следующем примере указаны индексы START и STOP, а шаг опущен.
>>> a = [1, 2, 3, 4, 5, 6, 7, 8] >>> a[1:4] [2, 3, 4]
Но индексы элементов можно и вообще не указывать, что позволяет делать интересные вещи, например:
1. Очистить список от элементов:
>>> lst = [1, 2, 3, 4, 5] >>> del lst[:] >>> lst []
2. Заменить все элементы, не создавая нового объекта списка:
>>> a = lst >>> lst[:] = [7, 8, 9] >>> lst [7, 8, 9] >>> a [7, 8, 9] >>> a is lst True
3. Создать поверхностную копию списка:
>>> b = lst[:] >>> b [7, 8, 9] >>> b is lst False