无法为在python中创建的链接列表编写迭代器

Not able to write a iterator for a Linked List created in python

本问题已经有最佳答案,请猛点这里访问。

试图创建一个python单链接列表,但我无法创建迭代器。这是我的代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class LinkedList:
    def __init__(self):
        self._head=self
        self._tail=self
        self._size=0                    

    def __iter__(self):
        print 'Calling Iterator

'

        _ListIterator(self._head)

class ListObj:
    def __init__(self,value):
        self._data=value
        self._pointingTo=None

class _ListIterator:
    def __init__(self,listHead):
        LIST=None
        self._curNode=listHead
        print dir(self._curNode)

    def __next__(self):
        if self._curNode._pointingTo is None:
            raise StopIteration
        else:
            item=self._curNode._data
            self._curNode=self._curNode._pointingTo
            return item

此迭代器失败,将错误作为

1
TypeError: __iter__ returned non-iterator of type 'NoneType'


1
_ListIterator(self._head)

你把这个忘了。