Python中如何对列表嵌套元组的元素执行指定运算后计算总求和
实现方案
思路说明
首先过滤列表中的空元组,对每个非空元组执行指定的聚合运算,再将所有元组的运算结果累加得到总输出。我们可以借助Python内置的functools.reduce实现任意二元操作的聚合,兼容不同运算场景的扩展需求。
完整代码实现
首先导入依赖:
from functools import reduce
定义输入列表和通用计算函数:
# 输入的元组列表 input_list = [(), (1,), (2,), (3,), (1, 2), (1, 3), (2, 3), (1, 2, 3)] def calc_total(input_list, operate, init_value): # 过滤空元组 valid_tuples = (t for t in input_list if t) # 对每个元组执行指定运算后累加 return sum(reduce(operate, t, init_value) for t in valid_tuples)
各场景调用示例
- 加法场景
add_total = calc_total(input_list, lambda a, b: a + b, 0) print(add_total) # 输出 24
- 乘法场景
mul_total = calc_total(input_list, lambda a, b: a * b, 1) print(mul_total) # 输出 23
- 异或位运算场景
xor_total = calc_total(input_list, lambda a, b: a ^ b, 0) print(xor_total) # 输出 12
内容的提问来源于stack exchange,提问作者milodev
相关产品推荐
相关产品推荐

