#!/usr/bin/env python2 class El(): def __init__(self, val=None, nxt=None): self.val = val self.nxt = nxt def getNext(self): return self.nxt def getVal(self): return self.val class Ll(): def __init__(self, first): self.first = first def iterv(self): el = self.first while True: yield el.getVal() el = el.getNext() if not el: break a = Ll(El("first", El("second"))) for i in a.iterv(): print i