(转载)Python:列表作为参数

简单的看下三种情况:

def changeList(l):
    l[0] = 5 

def changeList1(l):
    l = []

def changeList2(l):
    l[:] = []


a = [1,2,3]
changeList(a)
print(a)
b = [1,2,3]
changeList1(b)
print(b)
c = [1,2,3]
changeList2(c)
print(c)

  输出结果:

[5, 2, 3] 
[1, 2, 3] 
[]

  第一种情况,因为列表是mutable,所以可以改变。第二种情况只是在changeList1函数中新创建个[]对象,然后命名l。要想在函数中对列表有实际作用,得像changeList2那样。

原文地址:https://www.cnblogs.com/sixu/p/8017042.html