2017-08-23 13 views
-3

どのようにn 1と-1の繰り返しである配列を作成しますか? つまり、配列[1、-1,1、-1,1、-1]はn回Pythonで1と-1の交互のnの配列

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) 

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

理想的にはn = 3つのリターンのために、私はこれを返すことにしたいと思われる

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

あなたが試したことを見せてください。 –

+0

Pythonで無限リストを作成することはできません。しかし、未定義の長さに対して何かを繰り返す場合は、[itertools.cycle](https://docs.python.org/3/library/itertools.html#itertools.cycle)をご覧ください。 – Kendas

+0

@ Kendas:この質問は、有限の配列(質問者が違いを認識していない場合はリスト)を記述しているようです。 – user2357112

答えて

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

非常に良いアイデアですが、OPが自分の問題を解決するのに何の努力もしていない質問に答えるのは避けてください。 –

+0

@ChristianDean - 通常は同意しますが、opには何が試されたかは言及されません。 – Sayse

+1

@Sayseフェアポイント。 OPはまだ、彼らが何を試してきたかを示しているはずです。それだけでは十分な情報ではありません。 (また、FYI:私はダウン投票しませんでした) –

関連する問題