Я просто хочу, чтобы те, с индексом, который является кратным двакак извлечь из списка питона, элемент с индексом кратному 2
code=[1,2,4,7,2,6,8]
ncode=[code[i] for i%2==0]
Я просто хочу, чтобы те, с индексом, который является кратным двакак извлечь из списка питона, элемент с индексом кратному 2
code=[1,2,4,7,2,6,8]
ncode=[code[i] for i%2==0]
Вы можете использовать списковые таким образом:
code=[1,2,4,7,2,6,8]
print [val for i,val in enumerate(code) if i%2==0]
enumerate()
возвращает индекс и значение по индексу, которое хранится в i
и value
соответственно.
Для получения более подробной информации:
Просто используйте этот метод индексации:
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
mathmax, это здорово. Я просто читал о «шаге» в разрезе списка. Можете ли вы предоставить дополнительную информацию, чтобы ОП понимал это, и если он считает это лучше, он может принять это. – SilentMonk
@SilentMonk, спасибо за совет. Ответ отредактирован. – MaThMaX
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
Возможный дубликат [Поясните ломтик обозначение языка Python] (http://stackoverflow.com/questions/509211/explain-pythons-slice-notation) – SilentMonk