oops, you're right, I have ended up with an unnecessary "not" in there, should 
be:

from collections import deque


def partition(pred, iterable):
    results = deque([]), deque([])

    def gen_split(only):
        for thing in iterable:
            if results[only]:
                yield results[only].popleft()
            results[pred(thing)].append(thing)
        for thing in results[only]:
            yield thing

    return gen_split(True), gen_split(False)
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/QURICBHMB3D2WG2VWEBJ56Q6ZZHKBUJX/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to