Why does the following generate the TypeError: 'float' object not callable?

sum([-450.0,950.0])

有帮助吗?

解决方案

It looks like you happen to assign to a variable named sum in the same scope as the call above, thereby hiding the builtin sum function.

其他提示

This problem happened for me as well. And I did not create any variable with 'sum' name. I solved the problem by changing 'sum' function to 'numpy.sum'.

This saved me too, as pnz showed above. I was racking my brains trying to figure out why 'sum' wasn't working. It wasn't called anywhere else in my script, and resolved by using 'numpy.sum'. Seems like default 'sum' doesn't work well with a list of floats.

This failed: xlist = [1.5, 3.5, 7.8] print(sum(xlist))

This worked: xlist = [1.5, 3.5, 7.8] print(numpy.sum(xlist))

#import builtins

numbers = [1,2,3,4,5,1,4,5]

total = builtins.sum(numbers)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top