Skip to main content
 首页 » 编程设计

python之我怎样才能根据值(value)而不是内存使 x=y

2025年05月04日12Leo_wl

我需要一些帮助来理解这段代码:

x = [1,2,3] 
y = [4,5,6] 
x = y 
print x 
print y 
y.remove(4) 
print x 
print y   

当我从列表 [4,5,6] 中删除 4 时,x 和 y 变量将指向内存中相同的 [5,6] 列表,对吗?
如果是这样,那么我怎样才能使 x 等于 y 列表的副本,以便 x 和 y两者都指向内存中的不同位置,但这些位置都具有相同的值? (与它们都指向内存中的同一个位置相反,如上所示)

请您参考如下方法:

特别是对于列表,您可以通过获取整个列表的一部分来进行浅拷贝:

x = y[:] 

这不能保证适用于任意可切片对象(例如,numpy 数组切片不会创建新数组),因此使用内置的 copy 会很有用。模块:

import copy 
x = copy.copy(y) 

可以预期对任意 y 起作用。