How do I sum the first value in each tuple in a list of tuples in Python?(如何在 Python 的元组列表中对每个元组中的第一个值求和?)
问题描述
我有一个这样的元组列表(总是对):
[(0, 1), (2, 3), (5, 7), (2, 1)]
我想找到每对中第一项的总和,即:
0 + 2 + 5 + 2
如何在 Python 中做到这一点?目前我正在遍历列表:
sum = 0对于 list_of_pairs 中的对:总和 += 对[0]
我觉得肯定有一种更 Pythonic 的方式.
在 Python 的现代版本中,我建议 SilentGhost 发布的内容(为了清楚起见在此重复):
<块引用>sum(i for i, j in list_of_pairs)
在此答案的早期版本中,我曾建议这样做,这是必要的,因为 SilentGhost 的版本在当时最新的 Python (2.3) 版本中不起作用:
sum([pair[0] for list_of_pairs])
现在那个版本的 Python 已经过时了,而且 SilentGhost 的代码适用于所有当前维护的 Python 版本,所以不再有任何理由推荐我最初发布的版本.
I have a list of tuples (always pairs) like this:
[(0, 1), (2, 3), (5, 7), (2, 1)]
I'd like to find the sum of the first items in each pair, i.e.:
0 + 2 + 5 + 2
How can I do this in Python? At the moment I'm iterating through the list:
sum = 0
for pair in list_of_pairs:
sum += pair[0]
I have a feeling there must be a more Pythonic way.
In modern versions of Python I'd suggest what SilentGhost posted (repeating here for clarity):
sum(i for i, j in list_of_pairs)
In an earlier version of this answer I had suggested this, which was necessary because SilentGhost's version didn't work in the version of Python (2.3) that was current at the time:
sum([pair[0] for pair in list_of_pairs])
Now that version of Python is beyond obsolete, and SilentGhost's code works in all currently-maintained versions of Python, so there's no longer any reason to recommend the version I had originally posted.
这篇关于如何在 Python 的元组列表中对每个元组中的第一个值求和?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Python 的元组列表中对每个元组中的第一个值求和?


基础教程推荐
- 如何在海运重新绘制中自定义标题和y标签 2022-01-01
- 在 Python 中,如果我在一个“with"中返回.块,文件还会关闭吗? 2022-01-01
- 线程时出现 msgbox 错误,GUI 块 2022-01-01
- 用于分类数据的跳跃记号标签 2022-01-01
- 何时使用 os.name、sys.platform 或 platform.system? 2022-01-01
- Dask.array.套用_沿_轴:由于额外的元素([1]),使用dask.array的每一行作为另一个函数的输入失败 2022-01-01
- Python kivy 入口点 inflateRest2 无法定位 libpng16-16.dll 2022-01-01
- 筛选NumPy数组 2022-01-01
- 使用PyInstaller后在Windows中打开可执行文件时出错 2022-01-01
- 如何让 python 脚本监听来自另一个脚本的输入 2022-01-01