【发布时间】:2015-01-31 14:11:30
【问题描述】:
我试图让函数通过将列表的引用传递给它来修改列表。下面的程序显示当我将一个列表传递给函数时,只生成一个局部变量。有没有办法从函数中的该列表中选择一些成员?谢谢。
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 中只选择 [2, 3]
-
你已经说过了。但你还没有解释这意味着什么。
-
例如修改list1,使得list1只有[2,3]。丢弃前两个元素。