如果我要运行这段代码:
def function(y):
y.append('yes')
return y
example = list()
function(example)
print(example)
即使我没有直接更改变量“example”,为什么它会返回['yes'],以及如何修改代码以使“example”不受该函数的影响?
Python 中的一切都是参考。如果您希望避免这种行为,您必须使用以下命令创建原始副本的新副本list()
。如果列表包含更多参考文献,您需要使用深拷贝()
def modify(l):
l.append('HI')
return l
def preserve(l):
t = list(l)
t.append('HI')
return t
example = list()
modify(example)
print(example)
example = list()
preserve(example)
print(example)
outputs
['HI']
[]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)