Python 修改函数内的列表

Zin*_*Zhu 4 python function list

我试图让函数通过将列表的引用传递给它来修改列表。下面的程序显示,当我将列表传递给函数时,只生成了一个局部变量。有什么方法可以从函数中的列表中选择一些成员?谢谢你。

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]
Run Code Online (Sandbox Code Playgroud)

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]
Run Code Online (Sandbox Code Playgroud)

ven*_*npa 5

您必须返回并将返回的值分配给list1

def func(list1):
    list1 = list1[2:]    
    print(list1)   # prints [2, 3]
    return list1

list1=func(list1)
Run Code Online (Sandbox Code Playgroud)

或者你必须引用list1globalinside func()