Python Glossary English

все 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Сообщить о неточности