Python函数中给列表赋值

def change(a):
    a.append(5)
    a[0] = 5
    a = [5, 6, 7]
    a.append(4)
    print('函数内a={}'.format(a))


a = [1, 2, 3]
change(a)
print('函数外a={}'.format(a))

上述代码返回为:

函数内a=[5, 6, 7, 4]
函数外a=[5, 2, 3, 5]

结论:
1、在函数内给传递的列表进行赋值,会给这个函数中的列表开辟一个新的地址,所以对它的修改不会影响函数外的列表。
2、在函数内使用append或者下标修改列表值,会影响到函数外的列表。

你可能感兴趣的:(Python函数中给列表赋值)