2016-06-02 2 views
2

Я просто хочу, чтобы те, с индексом, который является кратным двакак извлечь из списка питона, элемент с индексом кратному 2

code=[1,2,4,7,2,6,8] 
    ncode=[code[i] for i%2==0] 
+0

Возможный дубликат [Поясните ломтик обозначение языка Python] (http://stackoverflow.com/questions/509211/explain-pythons-slice-notation) – SilentMonk

ответ

1

Вы можете использовать списковые таким образом:

code=[1,2,4,7,2,6,8] 
print [val for i,val in enumerate(code) if i%2==0] 

enumerate() возвращает индекс и значение по индексу, которое хранится в i и value соответственно.

Для получения более подробной информации:

list comprehension

enumerate

4

Просто используйте этот метод индексации:

code[::2] 

Если вы хотите нечетный индекс

code[1::2] 

Как правило, это то, как он работает:

seq = L[start:stop:step] 

seq = L[::2] # get every other item, starting with the first 
seq = L[1::2] # get every other item, starting with the second 
+0

mathmax, это здорово. Я просто читал о «шаге» в разрезе списка. Можете ли вы предоставить дополнительную информацию, чтобы ОП понимал это, и если он считает это лучше, он может принять это. – SilentMonk

+0

@SilentMonk, спасибо за совет. Ответ отредактирован. – MaThMaX

0
code = [1,2,4,7,2,6,8] 
new_code = [] 

for i in range(0, len(code), 2): ### iterate over even indexes 
    new_code.append(code[i]) 

print new_code 
Смежные вопросы