[Python-Dev] itertools.chain should take an iterable ?

Raymond Hettinger raymond.hettinger at verizon.net
Fri Sep 2 14:12:41 CEST 2005


[Paolino]
> >>Well this happened after I tried instinctively
> >>itertools.chain(child.method() for child in self).

As Jack's note points out, your proposed signature is incompatible with
the one we have now. I recommend creating your own version:
 def paolino_chain(iterables):
 for it in iterables:
 for element in it:
 yield element
 >>> list(chain(c+c for c in string.ascii_uppercase))
 ['A', 'A', 'B', 'B', 'C', 'C', 'D', 'D', 'E', 'E', 'F', 'F',
 'G', 'G', 'H', 'H', 'I', 'I', 'J', 'J', 'K', 'K', 'L', 'L',
 'M', 'M', 'N', 'N', 'O', 'O', 'P', 'P', 'Q', 'Q', 'R', 'R',
 'S', 'S', 'T', 'T', 'U', 'U', 'V', 'V', 'W', 'W', 'X', 'X', 
 'Y', 'Y', 'Z', 'Z']
> >>Is there a reason for this signature ?

It was handy for the use cases I had in mind when creating the function.
Also it was styled after a version in another language where it had
proven successful.
> > This is more suited to comp.lang.python
> >
> Why ? I'm not asking for help ,I'm asking why itertools library is
> implemented like that and if it is possible to clean it.

The newsgroup would have guided you to the solution listed above. If
you want to request a new feature, please use SourceForge.
Raymond


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /