【发布时间】:2013-09-14 20:02:13
【问题描述】:
我需要使用sum() 函数来对列表中的值求和。请注意,这与使用 for 循环手动添加数字不同。我以为它会像下面这样简单,但我收到了TypeError: 'int' object is not callable。
numbers = [1, 2, 3]
numsum = (sum(numbers))
print(numsum)
我查看了一些其他解决方案,包括设置启动参数、定义地图或在 sum() 中包含 for 语法,但我对这些变化没有任何运气,也无法弄清楚这是怎么回事。有人可以为我提供sum() 的最简单示例,该示例将汇总一个列表,并解释为什么它会以这种方式完成?
【问题讨论】:
-
嗯。您在解释器中尝试了这 3 行,但没有成功?
-
是的。如果有帮助,这是使用 Python 3.3.2...
-
我在其他地方用过 sum。谢谢你 - 我没想到变量会抱怨与函数具有相同的名称。 :)
-
Python 真正的优点之一是函数是一流的对象——它们可以像变量一样被传递。因此,它没有办法不“抱怨”。这也意味着您在技术上可以将
sum函数重命名为其他名称。但是请不要这样做。 -
我还应该提到,分配给 numsum 只是为了逐步执行代码。它最初被编码为 print(sum(numbers)) 因此 numsum 分配的额外括号。
标签: python list int sum typeerror