给定数组= [1,2,3,4,5,6]
我想选择第0个第2,第4个索引值来构建一个新数组
array1 = [1,3,5]
有人可以告诉我如何使用python吗?感谢〜
答案 0 :(得分: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)]
答案 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.