📅  最后修改于: 2023-12-03 15:04:15.830000             🧑  作者: Mango
在Python中,可以使用不同的方法复制列表。本文将介绍两种最常用的方法:浅复制和深复制。
浅复制是一种只复制列表中元素的引用,而不是创建新的元素本身的方法。
list1 = [1, 2, 3]
list2 = list1.copy()
在这个例子中,我们使用了 copy()
方法来创建 list1
的副本 list2
。 list1
和 list2
是两个不同的列表,但是它们所存储的元素是相同的。这意味着,如果我们改变其中一个列表中的元素,另一个列表也会发生变化。
list2[0] = 4
print(list1) # [1, 2, 3]
print(list2) # [4, 2, 3]
深复制是一种创建新元素的方法,而不是只复制元素的引用。这种情况下,我们需要使用 copy()
方法中的另一个变体: deepcopy()
。
import copy
list1 = [[1, 2], [3, 4]]
list2 = copy.deepcopy(list1)
在这个例子中,我们使用了 deepcopy()
方法来创建 list1
的新版本,即 list2
。 list1
和 list2
是两个不同的列表,它们分别存储相同的元素但是这些元素已经是新的实例,而不是元素的引用。这意味着,如果我们改变其中一个列表中的元素,另一个列表不会受到任何影响。
list2[0][0] = 5
print(list1) # [[1, 2], [3, 4]]
print(list2) # [[5, 2], [3, 4]]
在Python中,复制列表具有各种用途,从创建副本以保存原始数据到处理大型数据集以避免不必要的影响。希望这篇文章为你提供了深层次的认识和技能,帮助你在日常编程中使用和处理列表。