如何在循环中对多个列表的元素求和?

how to sum elements of multiple lists in a loop?

我有一个元组列表,其第二个元素是一个列表:

[(1, [1]), (2, [1]), (3, [1]), (4, [1, 2]), (5, [1]), (6, [1, 2, 3]), (7, [1]), (8, [1, 2, 4]), (9, [1, 3]), (10, [1, 2, 5])]

我想用它们的总和结果替换这些列表。

[(1, 1), (2, 1), (3, 1), (4, 6), (5, 1), (6, 6), (7, 1), (8, 7), (9, 4), (10, 8)]

我怎样才能做到这一点?

我不知道该怎么做。我试过不成功:

ml = [(1, [1]), (2, [1]), (3, [1]), (4, [1, 2]), (5, [1]), (6, [1, 2, 3]), (7, [1]),
      (8, [1, 2, 4]), (9, [1, 3]), (10, [1, 2, 5])]

s = 0
for el in ml:
    s += el[1]

如果有人能提供帮助,我将不胜感激!

你是这个意思吗?

ml = [(1, [1]), (2, [1]), (3, [1]), (4, [1, 2]), (5, [1]), (6, [1, 2, 3]), (7, [1]), 
(8, [1, 2, 4]), (9, [1, 3]), (10, [1, 2, 5])]

ml_sum = [(a, sum(b)) for a, b in ml]

print(ml_sum)

输出:

[(1, 1), (2, 1), (3, 1), (4, 3), (5, 1), (6, 6), (7, 1), (8, 7), (9, 4), (10, 8)]

如果你有一个包含元组的列表,你可以同时遍历这些元组的多个元素!