Используйте enumerate
для работы с индексом
>>> lst = [0,1,2,3,4,5,6,7,8,9,10]
>>> [value for index, value in enumerate(lst) if index%2 != 0]
[1, 3, 5, 7, 9] # output odd index values
В чем вы ошиблись?
- Перебор списка.
- На каждой итерации вы получите элемент этого списка.
- вы используете этот элемент в качестве индекса списка.
EX:
lst = [1,2,3,4,5,6,7,8,9,10]
В приведенном выше lst
последний элемент равен 10.
lst[10] ---> which does not exists. # Throws out of index range error