我试图编写下一个方法,以便能够用for循环遍历链接列表对象,并且无论我如何更改代码,我都会得到“NoneType”对象是不可调用的。这是一个赋值,因此,当涉及到其他构造函数和方法时,我不能更改任何内容。我唯一能玩的就是iter和下一个。这是我的代码:
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self, fdata):
firstNode = Node(fdata)
self.first = firstNode
self.last = firstNode
self.n = 1
def append(self, ndata):
newNode = Node(ndata)
self.last.next = newNode
self.last = newNode
self.next = None
self.n += 1
def __iter__(self):
return self
def next(self):
if self.__current.next == None:
raise StopIteration
else:
self.__current = self.__current.next
return self.__current.next.ndata
a = LinkedList(0); a.append(1); a.append(2)
for n in a:
print n
看来你读得太多了。尝试:
因为此时的
self.__current.next
将指向下一个元素。如果是dnid列表,那就什么都不知道了。在相关问题 更多 >
编程相关推荐