我有这个函数:
def applychange(L):
result=3+2
L=[4,5,6]
return result
L = [1,2,3]
print(applychange(L))
print(L)
,结果是:
5
[1, 2, 3]
如何将L
变量更改为新值以获得此结果:
5
[4, 5, 6]
如果您的目标是将L
修改为全局变量,则需要这样声明它。
为了使代码按预期运行,在函数的result
赋值之后插入global L
。
此外,不需要为了修改L
而将L
传递给函数。
def applychange():
result = 3 + 2
global L
L = [4, 5, 6]
return result
L = [1, 2, 3]
print(applychange())
print(L)
这样写的代码将得到预期的输出:
5
[4, 5, 6]
问题是您覆盖了变量L
,而不是修改它。你可以使用
L[:] = [4,5,6]
不是L = [4,5,6]