使用MutableList时出错

时间:2015-02-04 00:24:29

标签: python list mutable

我正在处理一个简单的size()方法,同时使用Mutablelists并且我一直收到以下错误:

>>> xs = MutableList
>>> xs
<class __main__.MutableList at 0x02AC6848>
>>> xs.size()

    Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    xs
.size()
  File "C:\Users\safim\Desktop\Python HW 4\a3_1.py", line 59, in size
    for x in self :
TypeError: iteration over non-sequence

我使用的代码是:

result = 0
for x in self :
  result + 1
return result

我提前感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

xsMutableList是同一个对象,因为你是这样做的:

xs = MutableList

打印的信息甚至告诉你:

<class __main__.MutableList at 0x02AC6848>

正如它所说,xs是类,而不是该类的实例。

您无法调用MutableList.size()(这是您尝试做的事情,因为xsMutableList是相同的事情),因为这并不能告诉它是什么实例你想用。

您的意思是实例化MutableList吗?如果是这样的话:

xs = MutableList()

您的其他代码也无法正常工作,因为result + 1会向result添加1,然后抛弃该数字(您永远不会将其分配给变量)。您最有可能的意思是result += 1