You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何对元组列表内每个元组的前两个值求和

问题根因

你编写的代码始终访问元组列表的第一个元素tupl[0]做计算,没有用到每次循环迭代到的当前元组,所以会得到重复的计算结果。同时不要用tuple作为循环变量名,这是Python内置类型名称,用作变量会覆盖原有功能,属于不好的编码习惯。

正确实现

要计算每个元组前两项的和,直接在列表推导式中对每次迭代的当前元组取前两位相加即可,有两种常用写法:

  1. 直接索引相加
tupl = [(5,3,33), (2,5,2), (4,1,7)]
sum_tupl = [t[0] + t[1] for t in tupl]
print(sum_tupl)

运行输出:

[8, 7, 5]
  1. 切片求和(适合前n项求和的场景,扩展性更好)
tupl = [(5,3,33), (2,5,2), (4,1,7)]
sum_tupl = [sum(t[:2]) for t in tupl]
print(sum_tupl)

运行结果和上述写法完全一致。

内容的提问来源于stack exchange,提问作者kosky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:36:02