numlist = [10,20,5,30]
print numlist
print sum(numlist)
TypeError: sum() takes exactly 2 arguments (1 given)
我正在尝试在列表中使用sum函数。 Python的2.7
内置函数语法 - sum(iteration[,start])
,启动默认为0
或者尝试以下方法:
print sum(numlist[,0])
错误:语法无效
答案 0 :(得分:5)
您重新定义了 sum()
功能。你是在某个地方做到的:
def sum(arg1, arg2):
# ...
或使用导入将该名称添加到当前名称空间。
这就是你正在调用的函数,而不是内置函数。
如果您使用:
import __builtin__
print __builtin__.sum(numlist)
它会起作用。在翻译工作时,您只需删除内置的其他功能即可重新出现':
del sum
print sum(numlist)
在脚本中,找到def sum(...):
定义并将其重命名为其他内容。
答案 1 :(得分:0)
您或您的某个导入重新定义了sum
内置:
>>> def sum(a,b):
pass
>>> numlist = [10,20,5,30]
>>> print sum(numlist)
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
print sum(numlist)
TypeError: sum() takes exactly 2 arguments (1 given)
通过在总和上调用del
或在代码中重命名函数来修复它:
>>> del sum
>>> sum(numlist)
65