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。
本文深入探讨了Python中列表的赋值、复制与深浅复制的区别。通过实例对比,讲解了不同复制方式下列表元素变动的影响,揭示了列表操作背后的内存管理机制。
7700

被折叠的 条评论
为什么被折叠?



