2017-01-16 8 views
-2

ネストされた単一行のループがどのように機能するかを理解するのに問題があります。ここでは例です:Pythonの単一ループネストForループ

私はこのコードを持っている:

NewArray = np.array([ get_position(i, size-1, t) for i in range(0, size)]) 

と私はこれを書き換えしようとしています:

for i in range(0,size): 
     NewArray = np.array([ get_position(i, size-1, t)]) 

しかし、私は別の出力を取得していますので、私は推測しているがここに論理エラーがあります。

問題を指摘できますか?

あなたは長さsizeの配列を作成する最初にあなたに

答えて

0

list comprehensionを使用しているためすべての値を含むnumpy配列が作成され、2番目の値は各繰り返しの最後の値を含む新しい配列を作成するためです同じ名前を再利用するため、最後の繰り返しで作成されます)。あなたの最初の操作と同じ結果を与えるべき

lst = [] 
for i in range(0,size): 
    lst.append(get_position(i, size-1, t)) 
NewArray = np.array(lst) 

あなたがとしての第2の1を書き換えることができます。

0

ありがとうございます。 秒で繰り返し(size回)長さ1の配列を作成します。

関連する問題