【问题标题】:Python appends only one value [closed]Python仅附加一个值[关闭]
【发布时间】:2017-07-28 10:04:58
【问题描述】:

这是我的 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]。

【问题讨论】:

  • 这里没有“返回”,没有定义函数,也没有调用函数。目前尚不清楚您期望发生什么,但我怀疑您面临的问题是由于循环的每次迭代都为dataX 分配一个新列表:即dataX = []

标签: python python-3.x append


【解决方案1】:

您正在为循环的每次迭代创建一个新的dataX。把那个放在循环之外。

pos = 0
dataX = []

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

【讨论】:

    【解决方案2】:

    对于循环的每次迭代,您都重新创建 dataX。你应该在循环之前声明它。

    【讨论】:

      猜你喜欢
      • 2021-03-04
      • 2015-07-12
      • 1970-01-01
      • 2019-05-15
      • 2019-07-08
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 2021-11-09
      相关资源
      最近更新 更多