Skip to main content
 首页 » 编程设计

python之如何将另一个列表分配给列表 "passed by reference"

2025年05月04日10lonelyxmas

<分区>

据信,python 中的列表作为可变对象是通过引用传递的。但是,当我尝试将传递给函数的列表更改为由另一个列表(尤其是空列表)分配时,调用方无法观察到更改。

这里提供更多细节是我的代码:

def callee(l): 
  l = list() # this could be any list but my interest was empty list 
 
def caller(): 
  l = [1, 2, 3] 
  caller(l) 
  print(l) # prints [1, 2, 3] while I expect an empty list 

如何在被调用函数中删除列表的所有元素?

当我更改被调用者列表中的一个特定元素时,它在调用者中是可见的。这是哪种传递,按值调用还是按引用调用?我不相信,我也很感激对此的任何澄清。