def roundrobin(*iterables):
    "roundrobin('ABC', 'D', 'EF') --> A D E B F C"
    nexts = [ iter(it).__next__ for it in iterables ]
    i = 0
    while nexts:
        i %= len(nexts)
        try:
            yield nexts[i]()
        except StopIteration:
            del nexts[i]
        else:
            i += 1

Regards
Alon Snir
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to