在Python中,可以使用NumPy库来创建和操作2D数组。NumPy库提供了一个ndarray对象,它是一个多维数组对象,可以用于表示和操作任意维度的数组。
要创建一个不可变的2D数组,可以使用NumPy的reshape函数。reshape函数可以改变一个数组的形状,但是返回一个新的数组,不改变原始数组。
下面是一个示例代码,演示了如何创建一个2D数组,并使用reshape函数改变其大小:
import numpy as np
# 创建一个2D数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 改变数组的大小
new_arr = arr.reshape((3, 2))
# 输出原始数组和新数组
print("原始数组:")
print(arr)
print("新数组:")
print(new_arr)
输出结果为:
原始数组:
[[1 2 3]
[4 5 6]]
新数组:
[[1 2]
[3 4]
[5 6]]
在上面的示例中,我们首先创建一个2D数组arr,然后使用reshape函数将其大小调整为3x2。新数组new_arr是一个3x2的数组,它的元素按照行优先的顺序排列(即每行的元素连续排列)。
需要注意的是,reshape函数返回一个新的数组,并不改变原始数组arr的大小。如果想要改变原始数组的大小,可以将新数组赋值给原始数组,如下所示:
arr = arr.reshape((3, 2))
这样,arr的大小就被改变为3x2了。
通过使用NumPy库的reshape函数,我们可以方便地不可变地调整2D数组的大小。
上一篇:不可变的协变集合,具有唯一性
下一篇:不可变地更新对象数组中的属性值