python列表传参?

最近遇到了一个有趣的问题,当列表作为参数传递给函数时,在函数体内的不同操作会影响到原来的列表。

在函数体中使用append/extend:

l1=[1,2,3,4]
def test(l2):
    l2.append(333)
    print("l2:", l2)
test(l1)
print("l1:",l1)

>>>
l2: [1, 2, 3, 4, 333]
l1: [1, 2, 3, 4, 333]
l1=[1,2,3,4]
def test(l2):
    l2.extend([333])
    print("l2:", l2)
test(l1)
print("l1:",l1)

>>>
l2: [1, 2, 3, 4, 333]
l1: [1, 2, 3, 4, 333]

在函数体中使用+:

l1=[1,2,3,4]
def test(l2):
    l2=l2+[333]
    print("l2:", l2)
test(l1)
print("l1:",l1)

>>>
l2: [1, 2, 3, 4, 333]
l1: [1, 2, 3, 4]

猜你喜欢

转载自blog.csdn.net/weixin_43732022/article/details/131722131
今日推荐