Sum_y = sum(y)TypeError:“列表”对象不可调用

时间:2019-07-18 09:18:19

标签: python

我有一个列表,

y = [ 39343.0, 46205.0, 37731.0, 43525.0, 39891.0, 56642.0, 60150.0, 54445.0, 64445.0, 57189.0, 63218.0, 55794.0, 56957.0, 57081.0, 61111.0, 67938.0, 66029.0, 83088.0, 81363.0, 93940.0, 91738.0, 98273.0, 101302.0, 113812.0, 109431.0, 105582.0, 116969.0, 112635.0, 122391.0, 121872.0]

我正在尝试计算列表的总和:

Sum_y = sum(y)

它给我错误。

y = [ 39343.0, 46205.0, 37731.0, 43525.0, 39891.0, 56642.0, 60150.0, 54445.0, 64445.0, 57189.0, 63218.0, 55794.0, 56957.0, 57081.0, 61111.0, 67938.0, 66029.0, 83088.0, 81363.0, 93940.0, 91738.0, 98273.0, 101302.0, 113812.0, 109431.0, 105582.0, 116969.0, 112635.0, 122391.0, 121872.0]

Sum_y = sum(y)

2 个答案:

答案 0 :(得分:1)

这听起来像在代码中有一行,其中有一个名为sum的变量,如下所示:

sum = [1,2,3]

,然后放下一个列表,例如:

y = [4,5,6]

,然后尝试在列表中找到值的sum

sum_y = sum(y)

那会给你错误:

TypeError: 'list' object is not callable

因为您已经用列表覆盖了默认的sum方法。

所以不要使用变量名sum。任何默认方法或类名都一样。您应该避免覆盖任何默认的Python方法/类。

答案 1 :(得分:0)

我尝试了您的代码,它不会为我抛出任何错误。

y = [ 39343.0, 46205.0, 37731.0, 43525.0, 39891.0, 56642.0, 60150.0, 54445.0, 64445.0, 57189.0, 63218.0, 55794.0, 56957.0, 57081.0, 61111.0, 67938.0, 66029.0, 83088.0, 81363.0, 93940.0, 91738.0, 98273.0, 101302.0, 113812.0, 109431.0, 105582.0, 116969.0, 112635.0, 122391.0, 121872.0]

Sum_y = sum(y)

 o/p: 2280090.0

有关总和的详细信息:https://docs.python.org/3/library/functions.html#sum