具体代码如下:
class linkList(object):
class Node:
def __init__(self, item = None):
self.item = item
self.next = None
def __init__(self):
self.head = None
self.tail = None
def push(self, element):
s = linkList.Node(element)
if not self.head:
self.head = s
self.tail = s
else:
self.tail.next = s
self.tail = s
def __iter__(self):
return self
def __next__(self):
if self.head:
s = self.head
self.head = s.next
return s.item
else:
raise StopIteration
返回结果:
lk = linkList()
lk.push(2)
lk.push(3)
lk.push(5)
lk.push(7)
for i in lk:
print(i)
2 3 5 7
注释:
1)__iter__方法:告诉系统这是一个可迭代对象,返回链表本身。
2)__next__方法,系统对可迭代类自动调用其__next__方法。



