Serhiy Storchaka added the comment: chain(x) is a shortcut for chain.from_iterable(iter(x)).
Neither copy.copy() nor __reduce__ don't have particular relation to this. Consider following example: >>> from itertools import chain >>> i = iter([[1, 2, 3], [4, 5, 6]]) >>> a = chain.from_iterable(i) >>> b = chain.from_iterable(i) >>> next(a) 1 >>> next(b) 4 >>> tuple(a) (2, 3) >>> tuple(b) (5, 6) ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue29897> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com