1.赋值

赋值指向同一块内存,更改原列表则被赋值的列表也跟着改变eg:nums_a=[1,2,3,4,5],nums_b=nums_a

nums_a=[1,2,3,4,5]
nums_b=nums_a
nums_a[0]='hello'
print(nums_b)
['hello', 2, 3, 4, 5]

2.列表复制

  • 列表.copy()  nums_b=nums_a.copy()
  • list()函数转换 nums_b=list(nums_a)
  • 切片  nums_b=nums_a[:]

这三种方法都是自带值得新对象,改变nums_a的值,不影响nums_b

 说明(找的图片,侵删)

赋值

赋值

浅复制

深复制

>>> import copy
>>> a = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> b = copy.deepcopy(a)
>>> b[0][0] = 100

>>> a
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> b
[[100, 2, 3], [4, 5, 6], [7, 8, 9]]

###此时修改b没有影响到a。

 

  

posted on 2019-06-13 16:23  quinn2018  阅读(268)  评论(0编辑  收藏  举报