我需要使用sum()函数来对列表中的值求和。请注意,使用'for'循环手动添加数字是DISTINCT。我认为它会像下面这样简单,但我收到'TypeError:'int'对象不可调用'。
numbers = [1, 2, 3]
numsum = (sum(numbers))
print(numsum)
我查看了一些其他涉及设置start参数,定义地图或在sum()中包含'for'语法的解决方案,但我对这些变化没有任何好运,也无法弄清楚这是怎么回事。有人可以向我提供sum()的最简单的例子,它将对列表进行求和,并解释为什么它按照它的方式完成?
答案 0 :(得分:46)
您是否在其他地方使用过变量sum
?这可以解释它。
>>> sum = 1
>>> numbers = [1, 2, 3]
>>> numsum = (sum(numbers))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable
名称sum
现在不再指向该函数,它指向一个整数。
解决方案:请勿调用变量sum
,将其称为total
或类似内容。
答案 1 :(得分:2)
numbers = [1, 2, 3]
numsum = sum(list(numbers))
print(numsum)
如果您正在尝试汇总列表,这将有效。
答案 2 :(得分:2)
在最后一个答案中,您不需要从数字中列出清单;它已经是一个列表:
numbers = [1, 2, 3]
numsum = sum(numbers)
print(numsum)