2017-03-08 4 views
-5

を追加し、私のPythonコードPythonはここで一つの値だけ

pos = 0 

for i in range(-10,10): 
    x = 3*i + 1 
    dataX = [] 

    #dataX.append(x) 

    dataX.insert(pos,x) 
    print("insert "+str(x)+" at "+ str(pos) + "|" + str(dataX)) 
    pos += 1 

print(dataX) 

は、単に右動作するはず追加しているのですか?しかし、次のように

どちら戻り値と同じ値を.. ..それはしていませんが、そう挿入がある示すように、第13回の繰り返しで、まだそれがそうしないか挿入も持っているべき追加

insert 1.9 at 13|[1.9] 

生成されたデータのリスト

私は図のように追加しようとしましたが、前のデータでも[1.9]になります。

+2

ここでは何も返されません。関数が定義されておらず、呼び出されている関数もありません。あなたは何が起こるのかはっきりしませんが、あなたが直面している問題は、ループの繰り返しごとに 'dataX'に新しいリストを割り当てることによって引き起こされると思われます。すなわち' dataX = [] ' –

答えて

1

ループの繰り返しごとに新しいdataXを作成しています。ループの外側にを入れてください。

pos = 0 
dataX = [] 

for i in range(-10,10): 
    x = 3*i + 1 
    # etc. 
-2

ループの反復ごとに、dataXを再作成します。ループの前に宣言する必要があります。

関連する問題