📜  Python中的数组复制(1)

📅  最后修改于: 2023-12-03 15:34:26.701000             🧑  作者: Mango

Python中的数组复制

在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模块

如果需要复制一个嵌套数组,可以使用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()函数。