← Все вопросы

Как взять каждый второй элемент списка (срез с шагом)?

Задан 1 месяц назад741 просмотров2 ответа
13

Нужно из списка вытащить элементы через один — нулевой, второй, четвёртый и т.д. Как сделать срезом?

2 ответа

19
✓ Принятый ответ — помог автору

Третье число в срезе — это шаг. lst[::2] берёт каждый второй элемент начиная с нулевого.

a = [0, 1, 2, 3, 4, 5]
a[::2]    # [0, 2, 4]  — чётные позиции
a[1::2]   # [1, 3, 5]  — нечётные позиции (старт с 1)
a[::3]    # [0, 3]     — каждый третий
a[::-1]   # весь список задом наперёд

Общий вид среза: [start:stop:step]. Любую часть можно опускать.

Петя Иванов а нечётные как? — a[1::2], уже в ответе 👍 · 22 дня назад
6

lst[::2].

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект