for i in range(0, len(alist)):
alist[i] = float(alist[i])
print(alist)
p = alist[-5:]
print(p)
#print(sum(p)) --- I am unsure why this is not working
答案 0 :(得分:1)
根据your comment:
我收到一个TypeError:'int'对象不是可调用错误
我认为发生的事情是您在代码中的某个地方创建了一个sum
变量,如下所示:
sum = 1234 # This is bad.
alist = [ 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 ]
p = alist[-5:]
print(type(sum)) # <class 'int'>
print(sum(p))
这将引发错误:
Traceback (most recent call last):
File "test.py", line 7, in <module>
print(sum(p))
TypeError: 'int' object is not callable
这是因为sum()
是built-in Python function,并且您应该从不命名变量和模块,使其与内置函数相同,因为这将重新定义它们。
因此,只需重命名sum
变量,然后通过打印其sum
来确认您正在使用的type
是内置函数。
sum_of_something = 1234
alist = [ 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 ]
p = alist[-5:]
print(type(sum)) # <class 'builtin_function_or_method'>
print(sum(p)) # 27.499999999999996