# 引入numpy库 import numpy as np # 定义cnmda函数 def cnmda(m,n): '''创建numpy数组 参数: m:第一维的长度 n: 第二维的长度 返回值: ret: 一个numpy数组 ''' ret = 0 # 请在此添加创建多维数组的代码并赋值给ret #********** Begin *********# #********** End **********# return ret
时间: 2025-05-27 11:27:36 浏览: 28
### 如何使用 NumPy 库创建指定维度 \(m \times n\) 的多维数组
NumPy 提供了多种方式来创建多维数组,其中最常用的方法之一是从 Python 列表或嵌套列表转换而来。以下是具体实现方法:
#### 方法一:从嵌套列表创建
可以通过 `np.array()` 函数将嵌套列表转化为一个多维数组。
```python
import numpy as np
# 定义 m 和 n
m, n = 3, 4
# 使用嵌套列表初始化数据
data = [[i * n + j for j in range(n)] for i in range(m)]
# 转换为 NumPy 数组
arr = np.array(data)
print("Array:\n", arr)
print("Shape:", arr.shape) # 验证形状 (m, n)
```
这种方法适用于已知具体的初始值情况[^1]。
---
#### 方法二:使用 `np.zeros` 或 `np.ones`
如果只需要创建一个特定大小的零矩阵或多维全 1 矩阵,则可以使用 `np.zeros` 或 `np.ones`。
```python
import numpy as np
# 定义 m 和 n
m, n = 3, 4
# 创建 m 行 n 列的零矩阵
zero_matrix = np.zeros((m, n))
print("Zero Matrix:\n", zero_matrix)
# 创建 m 行 n 列的全 1 矩阵
ones_matrix = np.ones((m, n))
print("Ones Matrix:\n", ones_matrix)
```
这两种方法适合于需要预分配内存的情况[^1]。
---
#### 方法三:使用 `np.random.rand`
当希望生成随机数构成的多维数组时,可利用 `np.random.rand` 来完成。
```python
import numpy as np
# 定义 m 和 n
m, n = 3, 4
# 创建 m 行 n 列的均匀分布随机浮点数数组
random_array = np.random.rand(m, n)
print("Random Array:\n", random_array)
```
此方法常用于模拟实验或其他需要随机输入的应用场景[^3]。
---
#### 方法四:使用 `np.full`
若想填充某个固定值到整个数组中,可以选择 `np.full`。
```python
import numpy as np
# 定义 m 和 n
m, n = 3, 4
# 创建 m 行 n 列并填充值为 7 的数组
filled_array = np.full((m, n), 7)
print("Filled Array with Value 7:\n", filled_array)
```
这种方式特别适合构建具有相同初值的数据集。
---
#### 方法五:动态调整现有数组尺寸
有时也可以先定义较小规模的数组再扩展至目标尺寸。
```python
import numpy as np
# 初始化一个小数组
small_arr = np.arange(6).reshape(2, 3)
# 扩展成更大的形状
expanded_arr = small_arr.repeat(2, axis=0).repeat(2, axis=1)[:m, :n]
print("Expanded Array:\n", expanded_arr[:m, :n])
```
这种技术对于处理复杂变换非常有用[^4]。
---
### 总结
以上展示了几种常见的基于 NumPy 构建自定义大小 (\(m \times n\)) 多维数组的技术路径。每种都有其适用范围和特点,在实际开发过程中可以根据需求灵活选用合适的方案。
阅读全文
相关推荐


















