2016-05-01 1 views

ответ

2

Если это просто 0, 2 и 4, вы можете использовать operator.itemgetter():

from operator import itemgetter 

array1 = itemgetter(0, 2, 4)(array) 

Это будет кортеж. Если он должен быть список, преобразовать его:

array1 = list(itemgetter(0, 2, 4)(array)) 

Если точка получить четные индексы, использовать нарезку:

array1 = array[::2] 

Что бы вы ни искали, вы могли бы использовать list comprehension:

array1 = [array[i] for i in (0, 2, 4)] 

или

array1 = [array[i] for i in xrange(0, len(array), 2)] 
+0

Большое спасибо ~ Если я хочу установить «шаг», который является интервалом выбора, как я мог это сделать? Например, я хочу выделить элементы с индексами 0,3,6 или 0,4,8 ~ – Echo0831

+0

@ Echo0831, вы можете добиться этого, написав 'array1 = [array [i] для i в xrange (start, len (array), step)] ', где start должен быть индексом первого элемента, а шаг - размером шага. Или вы можете увидеть мой ответ. – kanayamalakar

+0

@ Echo0831: Когда я говорю 'array [:: 2]', это означает, что все элементы в 'array' от одного конца до другого с шагом' 2'. Поэтому вы можете просто изменить '2' на любой желаемый шаг. В 'array1 = [array [i] для i в xrange (0, len (array), 2)]', я говорю, чтобы перейти от индекса '0', первого элемента, к индексу длины array - 1, последний элемент с шагом '2'. Поэтому вы можете изменить '2' на любой желаемый шаг. – zondo

0

Вы можете попробовать что-то вроде этого. В python n-й член списка имеет индекс (n-1). Предположим, что первый элемент, который вы хотите, равен 2, который является элементом 1 array. Просто сохраните индекс первого элемента в переменной. Добавьте его в новый список array1 и увеличьте индекс на 2. Продолжайте делать это до тех пор, пока не будет исчерпан список array.

from numpy import* 
array=[1,2,3,4,5,6] 
array1=[] 
term=1 
while term<len(array): # if the array length is 6 then it will have upto element 5. 
    array1.append(array[term]) 
    term=term+2   # 2 is the gap between elements. You can replace it with your required step size. 
+0

Попался! иметь смысл ~ – Echo0831

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