如何在数组(python)中以固定间隔选择元素

时间:2016-05-01 03:43:42

标签: arrays python-2.7

给定数组= [1,2,3,4,5,6]

我想选择第0个第2,第4个索引值来构建一个新数组

array1 = [1,3,5]

有人可以告诉我如何使用python吗?感谢〜

2 个答案:

答案 0 :(得分:2)

如果只是024,您可以使用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)]

答案 1 :(得分:0)

你可以尝试这样的事情。在python中,列表的第n个术语具有索引(n-1)。假设你想要的第一个元素是2,恰好是array的元素1。只需将第一个元素索引保存在变量中。将其附加到新列表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.