如何使用两层for循环替换Numpy数组中的值为对应行号
使用两层for循环修改Numpy数组的解决方案
直接上可运行的代码:
import numpy as np # 初始化全1的5×5数组,若需要整数类型可添加dtype=int参数 x = np.ones((5, 5)) # 外层循环遍历行索引 for row_idx in range(5): # 内层循环遍历当前行的所有列索引 for col_idx in range(5): # 将当前元素替换为对应行号(行索引+1,因为需求中行号从1开始) x[row_idx][col_idx] = row_idx + 1 # 输出最终结果 print(x)
代码说明
- 外层循环的
row_idx从0到4,对应数组的第1到第5行,因此用row_idx + 1得到需求中的行号。 - 内层循环遍历当前行的每一列,逐个替换元素值,确保整行所有元素都被设置为对应的行号。
- 执行后输出的数组结构完全符合要求:
[[1. 1. 1. 1. 1.] [2. 2. 2. 2. 2.] [3. 3. 3. 3. 3.] [4. 4. 4. 4. 4.] [5. 5. 5. 5. 5.]]
如果需要整数类型的数组,初始化时修改为x = np.ones((5, 5), dtype=int)即可,输出会是整数格式的目标数组。
内容的提问来源于stack exchange,提问作者user18605114
相关产品推荐
相关产品推荐

