2017-03-08 43 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。你应该在循环之前声明它。

相关问题