From: Raymond Hettinger Date: Fri, 28 Dec 2012 08:03:30 +0000 (-0800) Subject: Make the from_iterable() recipe more usable. X-Git-Tag: v2.7.5~109^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c195b4e88c39f58dccea0678ec517c1632d337f4;p=thirdparty%2FPython%2Fcpython.git Make the from_iterable() recipe more usable. The code isn't exactly equivalent because a classmethod would only make sense inside a chain class, and it would need "cls" as a first argument, and it would need to return an instance of "chain" rather than a generator. The updated example drops the @classmethod decorator so that it can be used standalone: list(from_iterable(['abc', 'def'])) This should be communicate what from_iterable does. --- diff --git a/Doc/library/itertools.rst b/Doc/library/itertools.rst index 8bb9e3672a45..a7f0058b4cd1 100644 --- a/Doc/library/itertools.rst +++ b/Doc/library/itertools.rst @@ -106,9 +106,8 @@ loops that truncate the stream. .. classmethod:: chain.from_iterable(iterable) Alternate constructor for :func:`chain`. Gets chained inputs from a - single iterable argument that is evaluated lazily. Equivalent to:: + single iterable argument that is evaluated lazily. Roughly equivalent to:: - @classmethod def from_iterable(iterables): # chain.from_iterable(['ABC', 'DEF']) --> A B C D E F for it in iterables: