Python实现两个嵌套列表对应元素相乘求和及阈值校验
Python实现嵌套列表对应元素相乘求和校验
方法1:纯原生Python实现(无第三方依赖)
直接通过zip配对对应层级的元素,逐层遍历计算即可:
# 定义两个嵌套列表 l = [[3,4,4],[1,2,1]] w = [[2,4,1],[3,1,3]] total_sum = 0 # 配对第一层子列表 for sub_l, sub_w in zip(l, w): # 配对第二层单个元素,相乘后累加 for a, b in zip(sub_l, sub_w): total_sum += a * b # 校验结果是否小于40 is_less_than_40 = total_sum < 40 print(f"总乘积和:{total_sum},是否小于40:{is_less_than_40}")
运行输出:
总乘积和:34,是否小于40:True
方法2:NumPy实现(代码更简洁)
如果允许使用第三方库,NumPy的向量化运算可以大幅简化代码:
import numpy as np l = [[3,4,4],[1,2,1]] w = [[2,4,1],[3,1,3]] # 转成NumPy数组后对应元素相乘,直接求和 total_sum = (np.array(l) * np.array(w)).sum() is_less_than_40 = total_sum < 40 print(f"总乘积和:{total_sum},是否小于40:{is_less_than_40}")
运行结果和原生方法完全一致。
内容的提问来源于stack exchange,提问作者Brittney P
相关产品推荐
相关产品推荐

