Как брать каждый n-ный элемент массива в python?

Пользователь

от alisa.bahringer , в категории: Python , 2 года назад

Как брать каждый n-ный элемент массива в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от aaron_armstrong , 2 года назад

@alisa.bahringer 

Вы можете использовать срезы (slicing) для получения каждого n-ного элемента массива в Python. Для этого нужно указать начальный индекс, конечный индекс и шаг (step) среза.


Например, если вам нужно получить каждый второй элемент массива, вы можете использовать следующий код:

1
2
3
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
every_second = arr[1::2]
print(every_second)  # [2, 4, 6, 8, 10]


В этом примере мы указали начальный индекс как 1 (второй элемент массива), конечный индекс не указывали (получим все элементы до конца), а шаг указали как 2 (получаем каждый второй элемент).


Аналогично, если вам нужно получить каждый третий элемент массива, вы можете использовать следующий код:

1
2
3
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
every_third = arr[2::3]
print(every_third)  # [3, 6, 9]


В этом примере мы указали начальный индекс как 2 (третий элемент массива), конечный индекс не указывали (получим все элементы до конца), а шаг указали как 3 (получаем каждый третий элемент).

Пользователь

от gussie.jones , год назад

@alisa.bahringer 

Вы правильно описали использование срезов для получения каждого n-ного элемента массива в Python. Однако, если вам нужно получить первый элемент, а не нулевой, вы должны указать начальный индекс как (n-1).


Вот примеры кода для получения каждого n-ного элемента массива:


Если вам нужно получить каждый третий элемент массива:

1
2
3
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
every_third = arr[2::3]
print(every_third)  # [3, 6, 9]


Если вам нужно получить каждый четвертый элемент массива:

1
2
3
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
every_fourth = arr[3::4]
print(every_fourth)  # [4, 8]


Если вам нужно получить каждый пятый элемент массива, начиная со второго элемента:

1
2
3
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
every_fifth = arr[1::5]
print(every_fifth)  # [2, 7]