a = [1,2,3]
b=a与b=a[:]结果是一样的
但是b=a 修改a(删除1这个元素,a.remove(1)),b是会跟着变的b=[1,2]
b=a[:]则不会变,依然是b=[1,2,3]
可以这样理解
直接用“=”赋值,是把a的地址给到b,而不是将列表里的值赋予b,修改a,b跟着改变
b=a[:]切片的方式是新的地址,新的空间给到b,互不影响.
a = [1,2,3]
b=a与b=a[:]结果是一样的
但是b=a 修改a(删除1这个元素,a.remove(1)),b是会跟着变的b=[1,2]
b=a[:]则不会变,依然是b=[1,2,3]
可以这样理解
直接用“=”赋值,是把a的地址给到b,而不是将列表里的值赋予b,修改a,b跟着改变
b=a[:]切片的方式是新的地址,新的空间给到b,互不影响.