首页 > 解决方案 > Python .append() 方法行为怪异

问题描述

list = [[0,0]]
x = [0,0]
for i in range(5):
  x[0] += 1
  list.append(x)

预期结果:[[1,0],[2,0],[3,0],[4,0],[5,0]] 实际结果:[[5,0],[5,0],[5,0],[5,0],[5,0]]

我已经尝试了几件事,但似乎都没有奏效。

我愿意接受任何建议,我试图将“x”保留为列表,并且更愿意远离做类似的事情

x1 = x[0]
x2 = x[1]

标签: python

解决方案


我认为问题在于它附加了列表,而不是它的内容,所以它每次都会更改为列表(x)的当前值。但是,我真的不确定确切的问题是什么。

您可以通过执行以下操作来解决您的问题:

List=[[0,0]]
x=0
for I in range(5):
    x += 1
    list.append([x,0])

推荐阅读