list 赋值拷贝

2018-05-20  本文已影响0人  仁安天下

list1=list2 这是地址引用,其中一个改变,另一个也跟着改变

list1=list2[:] 浅拷贝,改变第二层子项,第二层子项地址跟着改变

list1=list2.copy() 浅拷贝,改变子项,第二层子项地址跟着改变

list1=list2.deepcopy()深拷贝,地址完全不一样

def func(l):

    #改变参数l

    return 

func(list)      这个也是地址引用,函数改变了list,外面的list也会被改变。(python没有值传参)

list是可变类型

```

list1 = [1,2,[3]]

list2 = list1[:]

list1[2][0] = 100

print list2

切片和浅拷贝效果一样

```

上一篇下一篇

猜你喜欢

热点阅读