Python:列出参数传递

时间:2016-05-10 14:40:44

标签: python list

我知道我们在Python中传递参数时传递一个对象的引用。

所以,

def changer(b):
    b[0] = "spam"

l = [1,2]
changer(l)             # l is now ["spam",2]

但是,如果我这样做,

changer(l[:])          # l remains [1,2]

当我传递列表切片时,第二种情况下传递给函数的是什么?

1 个答案:

答案 0 :(得分:1)

l[:]创建副本。看切片。副本传递给函数,函数修改l的副本。因此,l将保持不变。

  

所有切片操作都返回包含所请求的新列表   元素。这意味着以下切片返回一个新的(浅)   列表副本。