如何通过循环计算所有x与y组合的S值并填充至二维零数组?
没问题,这就帮你实现用循环计算x和y所有元素组合的S值,并将结果存入二维零数组的需求~
具体实现方案
1. 先准备好基础数据
首先得导入numpy库,然后初始化题目里给出的所有数组:
import numpy as np # 一维数组x和y x = [1, 2, 3, 4, 5] y = [5, 6, 7, 8, 9] # 初始化5x5的二维零数组 2d_array = np.zeros((5, 5))
2. 用双重循环计算并填充值
我们需要遍历x的每个元素(对应二维数组的行索引),再遍历y的每个元素(对应二维数组的列索引),对每一组x[i]和y[j]计算R和S,然后把S存入2d_array[i][j]的位置:
# 遍历x的每个元素(行) for i in range(len(x)): # 遍历y的每个元素(列) for j in range(len(y)): # 按照给定公式计算R R = 5 * y[j] + 1 # 再计算S S = R + 5 * x[i] # 将S值存入二维数组对应位置 2d_array[i][j] = S
3. 可选:简化计算公式(优化版)
其实我们可以把两个公式合并,减少一次计算步骤,让代码更高效:
已知 R = 5y + 1,S = R + 5x
合并后可得:S = 5*(x + y) + 1
用这个简化后的公式,循环代码可以改成:
for i in range(len(x)): for j in range(len(y)): S = 5 * (x[i] + y[j]) + 1 2d_array[i][j] = S
验证结果
运行完代码后,你可以通过print(2d_array)查看最终的二维数组。比如第一行(对应x[0]=1)的结果应该是[31., 36., 41., 46., 51.],完全符合公式计算的结果哦~
内容的提问来源于stack exchange,提问作者Ali
相关产品推荐
相关产品推荐

