为什么它给出不同的输出:
+ 和 += 之间有区别吗
def func1(lst1, lst2):
lst1 += lst2
lst1 = [1, 2, 3]
lst2 = ["a", "b"]
func1(lst1, lst2)
print(lst1)
Run Code Online (Sandbox Code Playgroud)
和
def func1(lst1, lst2):
lst1 = lst1 + lst2
lst1 = [1, 2, 3]
lst2 = ["a", "b"]
func1(lst1, lst2)
print(lst1)
Run Code Online (Sandbox Code Playgroud)
提前致谢
Yev*_*ych 10
这里的区别在于+=更改了初始列表lst1。同时lst1 = lst1 + lst2创建一个新列表并重写lst1不影响全局对象的本地引用lst1。如果您在函数内部尝试printing lst1,两种情况都会给您相同的结果。
| 归档时间: |
|
| 查看次数: |
117 次 |
| 最近记录: |