# simple is good too def traverse(list): if list: print list[0] # or do something here traverse(list[1:]) else: print "done" # even simplier def traverse1(list): if list: # do something traverse(list[1:])