数组数值相乘实现咨询:两组数组元素运算需求求助
解决方案
核心逻辑
遍历两组数组的对应索引,取出第一组子数组的第二个数值元素、第二组子数组的第一个数值元素进行乘法运算,结果可存入新数组或直接更新第二组数组。
代码实现(Python)
首先定义你的两组数组:
array1 = [ ["2022-09-01T00:00:00", 4.56255004875], ["2022-09-01T01:00:00", 4.50295013375], ["2022-09-01T02:00:00", 4.52136261], ["2022-09-01T03:00:00", 4.46261261], ["2022-09-01T04:00:00", 4.6035501100000005], ["2022-09-01T05:00:00", 4.95328735375] ] array2 = [ [0.134], [0.132], [0.126], [0.129], [0.128], [0.145], [0.495], [1.837], [0.683], [0.125], [0.124], [0.128], [1.148], [0.39], [0.272], [0.479], [0.439] ]
方式1:生成新数组(保留原数组)
result_array = [] # 只处理两组数组对应位置的元素,避免索引越界 for i in range(min(len(array1), len(array2))): num1 = array1[i][1] num2 = array2[i][0] product = num1 * num2 # 可选:保留时间戳+结果,或仅存结果(和array2格式一致) result_array.append([array1[i][0], product]) # result_array.append([product]) # 若需要和第二组格式相同 print(result_array)
方式2:直接更新第二组数组
for i in range(min(len(array1), len(array2))): num1 = array1[i][1] num2 = array2[i][0] array2[i][0] = num1 * num2 print(array2)
注意事项
- 两组数组长度不一致时,
min(len(array1), len(array2))确保只处理到较短数组的最后一个元素,避免索引错误 - 若需要对第二组剩余元素(超出第一组长度的部分)做额外处理,可在循环后单独补充逻辑
内容的提问来源于stack exchange,提问作者Kimse
相关产品推荐
相关产品推荐

