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

时间:2014-05-12 05:45:18

标签: python singly-linked-list

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

class LinkedList:
    def __init__(self):
        self._head=self
        self._tail=self
        self._size=0                    

    def __iter__(self):
        print 'Calling Iterator\n\n'
        _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

这个迭代器因为抛出错误

而失败
TypeError: __iter__ returned non-iterator of type 'NoneType'

1 个答案:

答案 0 :(得分:0)

_ListIterator(self._head)

你忘了return这个。