我正在处理一个简单的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
我提前感谢你的帮助。
答案 0 :(得分:0)
xs
与MutableList
是同一个对象,因为你是这样做的:
xs = MutableList
打印的信息甚至告诉你:
<class __main__.MutableList at 0x02AC6848>
正如它所说,xs
是类,而不是该类的实例。
您无法调用MutableList.size()
(这是您尝试做的事情,因为xs
和MutableList
是相同的事情),因为这并不能告诉它是什么实例你想用。
您的意思是实例化MutableList
吗?如果是这样的话:
xs = MutableList()
您的其他代码也无法正常工作,因为result + 1
会向result
添加1,然后抛弃该数字(您永远不会将其分配给变量)。您最有可能的意思是result += 1
。