I understand the concept, but no real use case comes to my mind, and
certainly I personally have not needed this.  Itertools is kept extremely
minimal by design, containing only a small set of orthogonal primitives.
The recipes in its docs contain others, as does more-itertools.  This feels
like something that belongs, perhaps, in more-itertools.

On Wed, Dec 9, 2020 at 4:17 AM <aurelien.lambert...@gmail.com> wrote:

> Hi
>
> I like using itertools for creating long strings while not paying the cost
> of intermediate strings (by eventually calling str.join on the whole
> iterator).
> However, one missing feature is to mimic the behavior of str.join as an
> iterator: an iterator that returns the items of an iterable, separated by
> the separator.
> I suggest name "interleave" or "join" (whichever is the most clear / least
> ambigous).
>
>         def interleave(sep, iterable):
>                 """
>                 Makes an iterator that returns elements from an iterable,
> separated by the separator.
>                 """
>                 notfirst = False
>                 for i in iterable:
>                         if notfirst:
>                                 yield sep
>                         else:
>                                 notfirst = True
>                         yield i
>
> Could imagine a more elaborate implementation that can take several
> iterators, and would be equivalent to
>         lambda chain_zip_interleave sep, *iterables:
> itertools.chain.from_iterable(interleave((sep,), zip(*iterables)))
> But that may be seriously overkill, and I have hard time describing it.
> _______________________________________________
> Python-ideas mailing list -- python-ideas@python.org
> To unsubscribe send an email to python-ideas-le...@python.org
> https://mail.python.org/mailman3/lists/python-ideas.python.org/
> Message archived at
> https://mail.python.org/archives/list/python-ideas@python.org/message/YWT5BVGPNO3UBW4DZYYPXVCJY2JH7B4H/
> Code of Conduct: http://python.org/psf/codeofconduct/
>


-- 
The dead increasingly dominate and strangle both the living and the
not-yet born.  Vampiric capital and undead corporate persons abuse
the lives and control the thoughts of homo faber. Ideas, once born,
become abortifacients against new conceptions.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/VSMSF5BM3GIFWEUCTNZRTE22MCA2QY7A/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to