我有这个功能:
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]
答案 0 :(得分:1)
如果您的目标是将L
修改为全局变量,则需要将其声明为此
要使代码按预期运行,请在功能中global L
分配后插入result
此外,无需将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]
答案 1 :(得分:0)
问题是您覆盖变量L
,而不是修改它。你可以使用
L[:] = [4,5,6]
而不是
L = [4,5,6]