[Python-ideas] + operator on generators
Steven D'Aprano
steve at pearwood.info
Tue Jun 27 06:38:38 EDT 2017
On Tue, Jun 27, 2017 at 11:01:32AM +0200, Stephan Houben wrote:
> Hi all,
>
> Is "itertools.chain" actually that common?
> Sufficiently common to warrant its own syntax?
I think it's much more common than (say) sequence repetition:
a = [None]*5
which has had an operator for a long, long time.
> In my experience, "enumerate" is far more common
> among the iterable operations.
> And that doesn't have special syntax either.
True. But enumerate is a built-in, and nearly always used in a single
context:
for i, x in enumerate(sequence):
...
A stranger to Python could almost be forgiven for thinking that
enumerate is part of the for-loop syntax.
In contrast, chaining (while not as common as, say, numeric addition)
happens in variable contexts: in expressions, as arguments to function
calls, etc.
It is absloutely true that this proposal brings nothing new to the
language that cannot already be done. It's syntactic sugar. So I guess
the value of it depends on whether or not you chain iterables enough
that you would rather use an operator rather than a function.
> A minimal proposal would be to promote "chain" to builtins.
Better than nothing, I suppose.
--
Steve
More information about the Python-ideas
mailing list