【问题标题】:TypeError: 'int' object is not callable, when summing up a list - Python [duplicate]TypeError:'int'对象不可调用,总结一个列表时 - Python [重复]
【发布时间】:2016-01-09 17:28:52
【问题描述】:

我无法使用 sum 来汇总列表项。它总是给我以下错误:TypeError:“'int' object is not callable”。之前有人问过问题,最好的回答是下面的代码:

a = range(10)
# [0,1,2,3,4,5,6,7,8,9]
b = sum(a)
print(b)
# prints 45

它也给了我同样的错误。谁能帮我吗?我正在使用 Spyder (python 3.5)

提前致谢!

【问题讨论】:

  • 您将sum 设置为整数:sum = 42

标签: python list sum


【解决方案1】:

您将名称 sum 绑定到一个整数:

>>> sum = 42
>>> sum(range(10))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not callable

Python 不会阻止您对内置函数使用相同的名称;如果您需要使用内置名称,您有责任不使用这些名称。在您的代码中重命名 sum 变量,或者如果它在解释器中,只需删除该变量:

>>> sum
42
>>> del sum
>>> sum(range(10))
45

【讨论】:

  • 谢谢!但是我该如何总结一个列表/数组呢?
  • @MarkdeJonge:你看过最后一个例子了吗?内置的sum() 函数可以正常工作,我的代码示例总结了range(10) 产生的序列。
  • 啊,谢谢!我的控制台仍然加载了变量..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-20
  • 1970-01-01
  • 2014-07-28
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多