如何使用列表理解获取列表中的数字总和?
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]
我有一个程序 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]