You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中数组赋值为何联动修改?旋转脚本异常问题求助

问题根源:列表的引用赋值

在Python中,执行temp = array时,并没有创建新的列表对象,只是让temp和array指向内存中同一个列表实例。这意味着对其中一个变量的修改会直接反映到另一个变量上——因为它们本质上是同一个东西,这就是你观察到temp随array同步变化的原因。

解决方法:创建列表的独立副本

要切断这种联动,你需要生成原列表的独立副本,常用的三种方法:

  • 切片语法:temp = array[:]
  • list()构造函数:temp = list(array)
  • copy模块浅拷贝:import copy; temp = copy.copy(array)
针对你的代码修改

只需将temp = array替换为上述任意一种副本创建方式即可。同时修正原代码中循环范围的疏漏(原range(1, N-1)会漏掉最后一个元素的赋值),修改后的核心代码如下:

# 替换原有的temp = array,用切片创建独立副本
temp = array[:]
array[0] = temp[N - 1]
# 修正循环范围,确保覆盖所有元素
for i in range(1, N):
    array[i] = temp[i - 1]
print(array)

内容的提问来源于stack exchange,提问作者Anders C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 16:50:22