首页 > 解决方案 > 在 Python 中对列表求和 - 在一个元组和另一个列表中

问题描述

不确定它是否是重复的-如果是,将删除,只是还没有找到适合这种特定情况的。我有一个充满元组的复杂列表,其中包含字符串和列表。

我需要用 int 值替换最深的列表,这是这些列表的总和。我已经尝试了六种循环组合来解决它 - 似乎没有任何效果。

[('MED', [1, 1]), ('COP', [3, 1]), ('GRO', [1, 5]), ('RRE', [5, 3]), ('PRO', [4, 6])]

需要变成:

[('MED', 2), ('COP', 4), ('GRO', 6), ('RRE', 8), ('PRO', 10)]

这样我就可以返回按总和列表的值排序的新列表组合。

标签: pythonlistloopstuples

解决方案


您可以使用以下内容进行简洁易读的理解:

[(abbr, sum(t)) for abbr, t in l]

结果:

[('MED', 2), ('COP', 4), ('GRO', 6), ('RRE', 8), ('PRO', 10)]

推荐阅读