📅  最后修改于: 2023-12-03 15:34:26.701000             🧑  作者: Mango
在Python中,数组是一种非常有用的数据结构,可以存储大量的数据并进行操作。当需要对数组的内容进行修改而不想破坏原始数据时,就需要进行数组复制。
要复制一个数组,可以使用copy()
方法或list()
构造函数。这实际上是创建了一个新的数组,将原始数组的值复制到新的数组中。改变新的数组不会影响原始数组。
arr1 = [1, 2, 3, 4, 5]
arr2 = arr1.copy()
arr3 = list(arr1)
print(arr2) # [1, 2, 3, 4, 5]
print(arr3) # [1, 2, 3, 4, 5]
另一个复制数组的方法是切片。切片是一个Python中非常强大的概念,它允许你从一个序列中选出一个子序列。
arr1 = [1, 2, 3, 4, 5]
arr2 = arr1[:]
print(arr2) # [1, 2, 3, 4, 5]
与copy()
方法或list()
构造函数一样,切片也将原始数组的值复制到新的数组中。改变新的数组不会影响原始数组。
如果需要复制一个嵌套数组,可以使用copy
模块中的deepcopy()
函数。deepcopy()
函数将递归地复制整个数组,包括嵌套数组。这确保了新数组与原数组彻底分离。
import copy
arr1 = [[1, 2], [3, 4], [5, 6]]
arr2 = copy.deepcopy(arr1)
arr2[0][1] = 9
print(arr1) # [[1, 2], [3, 4], [5, 6]]
print(arr2) # [[1, 9], [3, 4], [5, 6]]
学习如何复制数组非常重要,因为这使得我们可以在不破坏原始数据的情况下修改数组。在Python中,可以使用copy()
方法、list()
构造函数或切片来复制数组。如果需要复制嵌套数组,则需要使用copy
模块中的deepcopy()
函数。