+和+=之间的区别

为什么它给出不同的输出:

+ 和 += 之间有区别吗

def func1(lst1, lst2):
    lst1 += lst2

lst1 = [1, 2, 3]
lst2 = ["a", "b"]
func1(lst1, lst2)
print(lst1)

def func1(lst1, lst2):
    lst1 = lst1 + lst2
    
lst1 = [1, 2, 3]
lst2 = ["a", "b"]
func1(lst1, lst2)
print(lst1)

提前致谢

回答

这里的区别在于+=更改了初始列表lst1。同时lst1 = lst1 + lst2创建一个新列表并重写lst1不影响全局对象的本地引用lst1。如果您在函数内部尝试printing lst1,两种情况都会给您相同的结果。


以上是+和+=之间的区别的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>