[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