由于逗号,我无法汇总我的列表

时间:2016-05-28 17:17:40

标签: python list sum

我有一个用户输入的数字列表。该列表具有随机长度,具体取决于用户输入的元素数量。 python看到列表(例如)像这样: 您输入的数字是:

['6', '7', '8', '4', '5', '98', '34', '56']

它们位于名为numlist的列表中。

我想对列表求和 - 所以我尝试了

print(sum (numlist)

我估计,由于逗号,它不会总和。我认为这使得他们不是列出的字符串项。所以,我想我必须删除逗号,从而把它们变成一个列表,我可以总结。 我看了一遍,我无法找到一个对我有意义的解决方案。 (对不起,我对此很新。)

我已尝试过剥离。地图。和int。但我找不到能胜任这项工作的人。显然我在某处错误地设置了代码。请帮忙。

5 个答案:

答案 0 :(得分:3)

您正在尝试添加列表的字符串元素。如果你想要列表元素的总和。对于例如如果你有一个清单

a = ['1','2']

1)将a的列表元素转换为int并分配到列表b

 b= [int(i) for i in a ]

2)使用sum

对列表元素求和
 print sum(b)

答案 1 :(得分:2)

我怀疑您正在尝试将字符串列表添加到一起,您必须先将这些字符串转换为整数,然后再调用sum;试着这样做:

print(sum(int(item) for item in numlist))

答案 2 :(得分:0)

numlist =[1,2,3,4,5]
sum=0
for element in numlist:
    sum+=element
print sum

答案 3 :(得分:0)

单引号确实使您的列表成为字符串列表。您需要将字符串转换为数字。为了完整起见:

sum(map(int, numlist))
sum(map(float, numlist))

答案 4 :(得分:0)

这是最简单,最有效的方式:

print(sum(map(int, numlist)))