下午好!
以下是我的代码段:
density_new = density_old[:,:,40:55]
for i in range(0,16):
density_new[:,:,i] = 1020
现在,这应该只更改density_new,因为通过我们分配density_new的方式,它具有自己的内存ID(我在两个变量上都使用python的id()命令进行了双重检查)。问题是,当我运行代码时,它会同时更改density_old和density_new,并且由于它们具有不同的ID,所以我不知道为什么会这样。任何帮助,将不胜感激。
当您将列表复制到另一个列表时,python将使它们引用相同的列表,因此在更新一个列表时,另一个将自动更新,但是使用list()
函数复制列表将避免此技巧。
所以就试试这个吧:
density_new = list(density_old[:,:,40:55])