2017-08-23 29 views
-3

我將如何去創建一個重複的n 1和-1的數組。 即陣列[1,-1,1,-1,1,-1,...] n次Python中的n個交替1和-1的數組

我試過使用numpy.repeat,但它重複每個元素,而不是重複1和-1,過度。

編輯:這是我曾嘗試:

import numpy as np 

def repeat(n): 
    z=np.arange(1,2) 
    x=-np.arange(1,2) 
    w=np.concatenate((x,z)) 
    return np.repeat(w,n) 

其中n = 3時返回

array([-1, -1, -1, 1, 1, 1]) 

理想情況下,我想這是返回

array([-1, 1, -1, 1, -1, 1]) 
+3

請顯示你已經嘗試過? –

+0

你不能在Python中創建無限列表。但是,如果你想迭代某個未定長度的東西,你可能想看看[itertools.cycle](https://docs.python.org/3/library/itertools.html#itertools.cycle) – Kendas

+0

@肯達斯:這個問題似乎在描述一個有限數組(或者如果提問者沒有意識到這個差異,那麼可能是一個列表)。 – user2357112

回答

1
alternating_list = [1,-1] * number_of_iterations 
+0

非常好的想法,但請避免回答OP在解決他們自己的問題時沒有付出努力的問題。 –

+0

@ChristianDean - 通常我會同意,但是操作者確實提到*他們嘗試了什麼......即使他們沒有證明它。 – Sayse

+1

@Sayse公平點。雖然OP仍然應該顯示,他們已經嘗試過。只是提到它通常不足夠的信息。 (另外,FYI:我沒有投票。) –

相關問題