I'm sure I am not the first person to do this, but I wanted to share this: a generator which returns all permutations of a list:
def permute( lst ):
if len( lst ) == 1:
yield lst
else:
head = lst[:1]
for x in permute( lst[1:] ):
yield head + x
yield x + head
return
-- Talin
--
http://mail.python.org/mailman/listinfo/python-list
