如何在python中删除数组的所有其他元素?(与np.repeat()相反)

如何在python中删除数组的所有其他元素?(与np.repeat()相反),python,arrays,numpy,Python,Arrays,Numpy,如果我有一个数组x,然后做一个np.repeat(x,2),我实际上是在复制这个数组 >>> x = np.array([1,2,3,4]) >>> np.repeat(x, 2) array([1, 1, 2, 2, 3, 3, 4, 4]) 如何做相反的操作,以获得原始数组 它还应适用于随机数组y: >>> y = np.array([1,7,9,2,2,8,5,3,4]) 如何删除所有其他元素,以获得以下结果 array

如果我有一个数组x,然后做一个
np.repeat(x,2)
,我实际上是在复制这个数组

>>> x = np.array([1,2,3,4])    
>>> np.repeat(x, 2)
array([1, 1, 2, 2, 3, 3, 4, 4])
如何做相反的操作,以获得原始数组

它还应适用于随机数组y:

>>> y = np.array([1,7,9,2,2,8,5,3,4])  
如何删除所有其他元素,以获得以下结果

array([7, 2, 8, 3])

y[1::2]
应该做这项工作。在这里,第二个元素是通过索引1来选择的,然后以2的间隔获取

如果您请求用户输入数组,我会遇到问题

因此,制作函数有很大帮助:

def remove_every_other(my_list):
    return my_list[::2]
    pass

这帮助我了解到,如果任何用户要输入数组,我们可以通过调用此函数来处理它。

如果希望y包含此信息,则应为y=y[1::2]