gpt4 book ai didi

Python 列表意外更新附加列表

转载 作者:太空宇宙 更新时间:2023-11-04 01:10:58 24 4
gpt4 key购买 nike

<分区>

我需要使用堆栈来插入和弹出其中包含 2 个数字的列表,它们在我正在制作的程序中用作 XY 坐标。看起来很简单,所以我就这样做

stack = []

制作我将用作堆栈的列表。现在我制作坐标变量

coord = [0,0]

并将其压入堆栈。

stack.append(coord)

现在,堆栈等于

[[0, 0]]

那太完美了。现在假设我向上移动了一个,所以我的坐标变量 Y 值更新为

coord[1] += 1

坐标等于

[0,1]

这很好。可是等等!即使我没有对堆栈列表做任何操作,它现在也显示为

[[0,1]]

当我希望它保留我发送给它的旧值时。

[[0,0]]

为什么会发生这种情况,我该怎么做才能完成我想要的?

以防万一不清楚,我希望堆栈表现得像

>>> stack = []
>>> stack
[]

>>> coord = [0,0]
>>> stack.append(coord)
>>> stack
[[0, 0]]

>>> coord[1] += 1
>>> stack
[[0, 0]]

>>> stack.append(coord)
>>> stack
[[0, 0], [0, 1]]

但这就是它的作用。

>>> stack = []
>>> stack
[]

>>> coord = [0,0]
>>> stack.append(coord)
>>> stack
[[0, 0]]

>>> coord[1] += 1
>>> stack
[[0, 1]]

>>> stack.append(coord)
>>> stack
[[0, 1], [0, 1]]

coords[1] += 1 更改为 coords[1] = coords[1] + 1 并没有解决问题,就像它所做的那样 here .

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com