Задать вопрос
@I2etr0
Jun DevOps

Как выбрать элементы с чётными индексами из списка в python?

Проблема состоит в следующем:

У меня есть массивы:
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = []
Из a надо достать числа с четным индексом (a[2], a[4], a[6] и пр.), а затем добавить в массив b.

Как это сделать?

P.S. Всем спасибо, допер сам.
  • Вопрос задан
  • 43254 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Drill
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = a[::2]
print(b)
Ответ написан
Комментировать
NeiroNx
@NeiroNx
Программист
>>> a = [1, 2, 3, 4, 5, 6, 7, 8]
>>> b = [x for x in a if not x%2]#четные значения из массива
>>> b
[2, 4, 6, 8]
>>> b = [v for k,v in enumerate(a) if not k%2]#четные значения ключей из массива
>>> b
[1, 3, 5, 7]
>>> 
>>> list(enumerate(a)) #чтобы понимать как это работает
[(0, 1), (1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 7), (7, 8)]
>>>

Мне кажется решать задачки нужно самому. Но вы почитайте про генераторы массивов.

В обоих случаях использован условный генератор - добавляет элемент если соблюдается условие. Условие это остаток от деления на 2 - если равен нулю то число четное. Инверсия чтобы четные результаты давали True(1) вместо False(0).
Функция enumerate() - очень полезная когда надо получить и элемент массива и его порядковый номер в массиве(ключ).
P.S. Кстати 0 это четный индекс по вашему или нет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы