📅  最后修改于: 2023-12-03 15:04:06.004000             🧑  作者: Mango
在 Python 中,copy()
是列表的一个内置方法,它可以用来返回一个新的列表,该列表包含当前列表的所有元素。该方法的语法如下:
new_list = old_list.copy()
或者使用以下方法:
new_list = list(old_list)
相同的方法也可以用于元组。
以下示例展示了如何使用 copy()
方法:
old_list = [1, 2, 3]
new_list = old_list.copy()
print("Old list:", old_list)
print("New list:", new_list)
输出:
Old list: [1, 2, 3]
New list: [1, 2, 3]
这个示例说明了如何复制一个 Python 列表。
copy() 方法实际上是调用列表的构造函数来创建一个副本,该构造函数在内部将列表的所有元素复制到新的列表中。
您可能会想知道,为什么不能使用切片操作来复制列表。下面的代码示例演示了为什么这样做不是一个好主意:
old_list = [1, 2, 3]
new_list = old_list[:]
# add an element to new_list
new_list.append('a')
# Output: [1, 2, 3, 'a']
print("New list:", new_list)
# Output: [1, 2, 3]
print("Old list:", old_list)
输出:
New list: [1, 2, 3, 'a']
Old list: [1, 2, 3]
这是因为切片操作只创建当前列表的浅拷贝。如果当前列表中包含嵌套列表或对象,则仅复制引用,而不是实际对象本身。因此,对新列表的修改也会在原始列表中反映出来。
相比之下,使用 copy()
方法可以创建一个全新的、完全独立的列表。
Python 中的 copy()
方法是一个简单而有用的方法,可以用于创建一个新的、与原始列表完全无关的列表。虽然使用切片操作可以实现类似的功能,但如果列表包含嵌套列表或对象,那么复制的仅是其引用,而不是实际的对象。