【发布时间】:2017-01-08 18:08:42
【问题描述】:
myList = [5, 2]
def foo():
myList[0] = 6
在上面的例子中,myList 仍然是变异的,尽管它是非全局的并且不是通过参数传入的。但是,如果变量不是列表,这将不起作用。
【问题讨论】:
-
我认为如果你想改变函数中的某些东西,你必须调用:global myList?
-
仅当您将新值重新分配给给定名称时。你不在这种情况下。
-
当
list[0] = 4可以改变列表的元素而list = [4, 5]不会。 -
这个问题不是链接问题的重复,因为另一个问题是关于 Python 中的参数传递,这里没有传递任何参数。
标签: python