如何用循环将2D矩阵B的数据写入3D矩阵A?
矩阵赋值循环实现方案
首先明确对应逻辑:
- A是包含20个(3,8)二维矩阵的列表,每个
A[i](i从0到19)对应B中连续3行 A[i]的第0行 = B的第3*i行A[i]的第1行 = B的第3*i+1行A[i]的第2行 = B的第3*i+2行
循环实现代码
import numpy as np # 按题目要求初始化A A = [np.zeros((3, 8)) for _ in range(20)] # 假设B为已存在的60行8列二维矩阵,此处仅做示例初始化 B = np.random.rand(60, 8) # 循环完成赋值 for i in range(20): A[i][0] = B[3 * i] A[i][1] = B[3 * i + 1] A[i][2] = B[3 * i + 2]
也可以用更简洁的嵌套循环写法,逻辑完全一致:
for i in range(20): for j in range(3): A[i][j] = B[3 * i + j]
补充说明
- A的每个元素是(3,8)维度的矩阵,B每行是8个元素,维度匹配可直接赋值
3*i + j的计算方式精准对应题目给出的行索引映射关系,覆盖B的全部60行
内容的提问来源于stack exchange,提问作者znb
相关产品推荐
相关产品推荐

