【发布时间】:2021-03-05 20:27:30
【问题描述】:
鉴于此来源列表:
source_list = [2, 3, 4]
还有这个功能:
def function(list_in):
list_in.append(5)
list_in.insert(0, 1)
return list_in
不出所料,我得到:
>>> function(source_list)
[1, 2, 3, 4, 5]
但如果我在函数之外调用变量 source_list,我仍然会得到:
>>> source_list
[1, 2, 3, 4, 5]
是否有其他方法可以修改(特别是附加/预先添加到)函数中的列表,从而不更改原始列表?
【问题讨论】:
标签: python python-3.x list defensive-copy