【发布时间】:2022-07-16 00:07:30
【问题描述】:
根据我的理解,这两个函数都应该更改 list 因为列表是可变的,但只有 foo() 这样做了。
def foo(myList):
myList[0] = 3
def bar(myList):
myList = [3,2,1]
list = [1,2,3]
print(list)
foo(list)
print(list)
bar(list)
print(list)
【问题讨论】:
-
myList是对象的名称。它只存在于函数的范围内。在bar中,您正在更改名称,而不是列表。 -
foo就地更改列表,bar创建一个新列表。 -
在此处查看此操作 - pythontutor.com 你会得到它。
标签: python list variables mutable