A few transformations down the road, here's a 4-line powerset() generator:
def powerset(base):
pairs = [(2**i, x) for i, x in enumerate(base)]
for n in xrange(2**len(pairs)):
yield [x for m, x in pairs if m&n]
--Guido van Rossum (home page: http://www.python.org/~guido/)