Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表附加到列表时出现意外输出_Python_Python 3.x - Fatal编程技术网

Python 将列表附加到列表时出现意外输出

Python 将列表附加到列表时出现意外输出,python,python-3.x,Python,Python 3.x,这是我试图解决的问题的代码的一个非常精简的版本 我尝试使用print(x)调试代码。但我不明白为什么世界上的[6,1]会一再地附加到“协调”上。任何帮助都将因其黄金重量而感激 obstaclecordinates=[] 坐标fattack=[] n=5 x=[1,1] 当x不在障碍物中时: 坐标fattack.append(x) x[0]+=1 打印(x) 如果x[0]>n: 打破 其他: 持续 打印(协调FATTACK) 预期产出:[[1,1]、[2,1]、[3,1]、[4,1]、[5,1]

这是我试图解决的问题的代码的一个非常精简的版本

我尝试使用print(x)调试代码。但我不明白为什么世界上的[6,1]会一再地附加到“协调”上。任何帮助都将因其黄金重量而感激

obstaclecordinates=[]
坐标fattack=[]
n=5
x=[1,1]
当x不在障碍物中时:
坐标fattack.append(x)
x[0]+=1
打印(x)
如果x[0]>n:
打破
其他:
持续
打印(协调FATTACK)
预期产出:[[1,1]、[2,1]、[3,1]、[4,1]、[5,1]、[6,1]]


实际输出:[[6,1],[6,1],[6,1],[6,1],[6,1]。

如评论中所述,您不断修改附加的列表。您需要在while循环中创建一个副本

obstaclecoordinates=[]
coordinatesofattack=[]
n=5
x=[1,1]
while x not in obstaclecoordinates:
    coordinatesofattack.append(x[:])
    x[0]+=1
    print(x)
    if x[0]>n:
        break
    else:
        continue
print(coordinatesofattack)

您不断修改附加的列表。请尝试:
CoordinationFattack.append(x[:])
来追加列表的副本。为什么会出现问题?那么x[:]做什么呢?谢谢你
x[:]
是列表的副本
x
。一个浅薄的副本。明白了!!!非常感谢!!是 啊事实上,由于一些愚蠢的原因,我不能在6分钟前接受,而这已经超过了我在印度的就寝时间!干杯