все Python 3Списки (list)понятие
Срезы с шагом [::2] / [::-1]
индексы/срезы
Третий параметр среза — шаг: [start:stop:step]. Шаг 2 — каждый второй элемент. Шаг -1 — обратный порядок. Можно комбинировать start/stop со шагом.
Синтаксис
lst[start:stop:step]
При отрицательном шаге умолчания переворачиваются — срез идёт от конца к началу, но stop по-прежнему не включается, поэтому lst[3:0:-1] вернёт элементы с индексами 3, 2, 1 и потеряет нулевой. Нулевой шаг запрещён: lst[::0] даёт ValueError. И не путайте lst[::-1] с list.reverse(): первый строит новую копию, второй переворачивает список на месте и возвращает None.
Примеры
lst = [0, 1, 2, 3, 4, 5, 6]
print(lst[::2]) # → [0, 2, 4, 6]
print(lst[::-1]) # → [6, 5, 4, 3, 2, 1, 0]
print(lst[1::2]) # → [1, 3, 5]
print(lst[6:0:-2]) # → [6, 4, 2]
print(lst[:4:1]) # → [0, 1, 2, 3]
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности