假设我有带有列表参数的函数,并且在其主体内我想通过将数组的元素复制到列表来修改传递的列表:
def function1 (list_arg):
a = function2() #function2 returns an array of numbers
list_arg = list(a)
list1 = [0] * 5
function1(list1)
list1
[0,0,0,0,0]
当这样做时,它不起作用。执行后function1(list1)
, list1
保持不变。那么,如何制作function1
return list1
具有与数组相同的元素(数字)a
?
如果你给变量赋值list_arg
,它将从此指向新的值。它所指向的值before该作业(您的原始列表)将保持不变。
相反,如果您将某些内容分配给elements该列表中,这将更改原始列表:
list_arg[:] = list(a)
这将使您的代码按照您想要的方式工作。
但请记住,就地更改很难理解,并且可能会让下一个必须维护代码的开发人员感到困惑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)