我试图让一个函数通过将列表的引用传递给它来修改列表。下面的程序显示当我将一个列表传递给函数时,只生成一个局部变量。有什么方法可以从函数中的列表中选择一些成员吗?谢谢。
def func(list1):
list1 = list1[2:]
print(list1) # prints [2, 3]
list1 = [0, 1, 2, 3]
func(list1)
print(list1) # prints [0, 1, 2, 3]
Edit1:我还尝试使用以下功能。它也不起作用。也许是因为在 func2 中 list1 变成了引用 list2 的局部变量。
def func2(list1):
list2 = list1[2:]
list1 = list2
print(list1) # prints [2, 3]
list1 = [0, 1, 2, 3]
func(list1)
print(list1) # prints [0, 1, 2, 3]
请您参考如下方法:
您必须返回并将返回值分配给 list1:
def func(list1):
list1 = list1[2:]
print(list1) # prints [2, 3]
return list1
list1=func(list1)
或者您必须在 func() 中将 list1 引用为 global。
