Skip to main content
 首页 » 编程设计

Python 在函数内修改列表

2025年05月04日14haluo1

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

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。