Python 当我向现有列表中添加新项时,为什么所有元素都更改为新项?

Python 当我向现有列表中添加新项时,为什么所有元素都更改为新项?,python,list,loops,Python,List,Loops,我正在编写一个循环,将新元素添加到现有列表中。但是我发现当我向列表中添加新元素时,列表的长度增加了1,但是列表中的所有元素都被新元素替换了。我期待着你的手 我曾尝试编写一个简单的代码,将元素添加到控制台中循环中的现有列表中,但结果是正确的。所以我真的很想知道前一个节目是我的错 #构造集合和给定点的边界 起点=中点(投影输入集(给定点),给定点) pointSetBoundary=[beginPoint,] 打印(点边界) #起点右侧 右点=起始点 打印(“开始点:”,右点) 投影=投影插入集(右

我正在编写一个循环,将新元素添加到现有列表中。但是我发现当我向列表中添加新元素时,列表的长度增加了1,但是列表中的所有元素都被新元素替换了。我期待着你的手

我曾尝试编写一个简单的代码,将元素添加到控制台中循环中的现有列表中,但结果是正确的。所以我真的很想知道前一个节目是我的错

#构造集合和给定点的边界
起点=中点(投影输入集(给定点),给定点)
pointSetBoundary=[beginPoint,]
打印(点边界)
#起点右侧
右点=起始点
打印(“开始点:”,右点)
投影=投影插入集(右点)
打印(“开始投影:”,投影)
[k,b]=垂直等分线(投影输入集(给定点),给定点)
stepRight=0.01
当rightPoint[0]=0时:
rightPoint[0]=rightPoint[0]+stepRight
右点[1]=k*右点[0]+b
如果距离(投影插入(右点),投影)>0.000001:
投影=投影插入集(右点)
[k,b]=垂直平分线(投影,给定点)
如果k>=0:
stepRight=0.01
其他:
stepRight=-0.01
pointSetBoundary.append(右点)
打印(点边界)
打印(“右边界已完成!”)

我希望新的rightPoint在不改变现有元素的情况下添加到以前的列表中。

发布问题后,我突然意识到我添加到列表中的元素一直在改变。非常抱歉。为了节省您的时间,我结束这个问题

在while循环开始时,我将rightPoint的值更改为。但是,列表的前一个元素共享相同的内存空间。因此,它们的内容在同一时间发生变化