如何计算列表中嵌套元组的元素总和?
如何动态求和列表中所有元组内的值
以下是几种适用于任意数量元组、任意元组长度的实现方案:
方案1:嵌套循环累加(直观易懂)
遍历列表中的每个元组,再逐个取出元组内的元素累加,完全适配动态变化的元组数量和元组长度:
my_list = [(270,), (270,)] total = 0 for tup in my_list: for num in tup: total += num print(total) # 输出 540
比如列表换成[(10, 20), (30,), (40, 50, 60)],也能正确算出总和210。
方案2:生成器表达式+sum()函数(简洁Pythonic)
用嵌套生成器表达式一次性遍历所有元素,交给sum()直接计算总和,代码更紧凑:
my_list = [(270,), (270,)] total = sum(num for tup in my_list for num in tup) print(total) # 输出 540
方案3:针对单元素元组的简化写法
如果能确定列表中每个元组只有一个元素,可以直接取元组的第一个元素求和,效率略高:
my_list = [(270,), (270,)] total = sum(tup[0] for tup in my_list) print(total) # 输出 540
注意:这个方案仅适用于所有元组长度为1的场景,若元组长度可能变化,优先用前两种通用方案。
内容的提问来源于stack exchange,提问作者PRA7H1K
相关产品推荐
相关产品推荐

