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。