使用sagemath:如何修复此错误TypeError:'list'对象不可调用

时间:2015-04-03 16:54:21

标签: python vector sage

基本上我有一个矢量列表。我想绘制一个图形,但是有太多的向量,所以逐个添加它们需要太长时间。所以,我想制作一个命令,在我的列表中添加向量,而向量的起始点是在那个之前加起来的向量(听起来令人困惑,我知道)。

这是我得到的:

data=[[24,333],[7,260],[4,190],[6,75],[3,145],[3,270],[4,51],[4,336],[7,160],[7,60],[4,185],[4,275],[3,330],[4,65],[13,187],[8,54],[8,181],[5,70]]
listofvectors=[vector([eachelement[0]*sin(eachelement[1]*pi/180),eachelement[0]*cos(eachelement[1]*pi/180)]) for eachelement in data]
temporarylist = [vector([0,0])]+listofvectors
startpoint=[sum(temporarylist[:i+1]) for i in list(IntegerRange(len(temporarylist)))]
c446a9ff-1351-496c-b175-56d5f12db2f7︡ {"stderr":"Error in lines 1-1
Traceback (most recent call last):
  File "/projects/722ebd7e-9c91-47a9-af93-ad326a20df5d/.sagemathcloud/sage_server.py\", line 879, in execute
    exec compile(block+'\\n', '', 'single') in namespace, locals
  File "", line 1, in <module>
TypeError: 'list' object is not callable
"}

1 个答案:

答案 0 :(得分:1)

关键是这是

TypeError: 'list' object is not callable

这表示你已经使用了一个对象list然后使用了list(stuff),这是一种用于“调用函数”的Python语法(在数学中就像f(x)一样)。在这种情况下,很明显(正如@MattDMo所指出的那样)你必须在代码中早先调用某些list。否则你会得到像

这样的东西
sage: list(IntegerRange(5))
[0, 1, 2, 3, 4]

根据需要。在您的工作表中搜索 - 也许重新启动您的工作表,然后只是这个单元格?