I believe this question was asked before, but I have not found the link at this time.
If you are trying to get more than one predicate, and you only want to iterate over the original generator, you will have to use a simple loop for.
evens = []
odds = []
for i in xrange(10):
if i % 2 == 0: evens.append(i)
else: odds.append(i)
@dawg, , .
for i in xrange(10):
(evens,odds)[i%2].append(i)