2017-03-08 44 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) 

追加簡單的工作,應該正確的?但事實並非如此,但這樣是插入..

兩個收益相同的值如下..

insert 1.9 at 13|[1.9] 

即如圖13日反覆,但它沒有做任何插入,也不追加里面應該有生成的數據列表

我不知道我已經嘗試追加所示,但結果在[1.9]甚至與以前的數據。

+2

這裏沒有「返回」,沒有函數被定義,也沒有函數被調用。目前還不清楚你期望會發生什麼,但我懷疑你面臨的問題是由於在循環的每次迭代中爲'dataX'分配一個新列表引起的:即'dataX = []' –

回答

1

您正在創建一個新的dataX循環的每一次迭代。把放在的外面。

pos = 0 
dataX = [] 

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

對於循環的每次迭代,都重新創建dataX。你應該在循環之前聲明它。

相關問題