[Python-ideas] Use the plus operator to concatenate iterators
Alexander Belopolsky
alexander.belopolsky at gmail.com
Wed Aug 5 03:01:07 CEST 2015
On Tue, Aug 4, 2015 at 8:43 PM, Joseph Jevnik <joejev at gmail.com> wrote:
> Iterators all all different types though. iter(list) returns a list_iterator
> type, iter(dict.keys()) returns a dict_keys_iterator type and so on. Is your
> suggestion that the standard lib types do this? How do we update all of the
> existing iterators not in the stdlib that do not do this?
In theory, this can be done inside PyNumber_Add(x, y). It already
checks for numbers or sequences and failing that can check for the
__next__ method on its first operand and return itertools.chain(x,
y).
> Finally, how is this better than itertools.chain?
Shorter. Especially when you chain more than two iterators.
Nevertheless, I am -1 on the idea. It is bad enough that Python
abuses + as sequences concatenation operator.
More information about the Python-ideas
mailing list