如何使用列表理解获取列表中的数字总和?

How do I get sum of number digits in a list using list comprehension?

我有一个程序 returns 使用嵌套 for 循环的列表中的数字总和。

numlist = [12,34,56,78,90]
out = []
for x in numlist:
    t = 0
    for y in str(x):
        t += int(y)
    out.append(t)
print(out)

输出:

[3,7,11,15,9]

但是,我想使用列表推导来实现同样的效果。

res = [t := t+int(y) for x in numlist for y in str(x)]
print(res)

但是,这不是return我想要的

将int转换为char列表后,您可以使用map将它们转换为int,然后sum int列表:

res = [sum(map(int, str(x))) for x in numlist]
print(res)

[3, 7, 11, 15, 9]

使用嵌套列表组合:

[sum([int(char) for char in str(x)]) for x in numlist]