map/filter/reduce/lambda opinions and background unscientificmini-survey

Terry Reedy tjreedy at
Sat Jul 9 02:32:08 CEST 2005

"George Sakkis" <gsakkis at> wrote in message 
news:1120852274.923521.211250 at

> "Steven Bethard" <steven.bethard at> wrote:
>> Dict comprehensions were recently rejected:
>> The reason, of course, is that dict comprehensions don't gain you much
>> at all over the dict() constructor plus a generator expression, e.g.:
>>      dict((i, chr(65+i)) for i in range(4))

> Sure, but the same holds for list comprehensions: list(i*i for i in
> xrange(10)). The difference is historic I guess; list comprehensions
> preceded generator expressions and so they cannot be removed, at least
> not before 3.0. I wonder if they will/should be in the language when
> the constraint of backwards compatibility is lifted.

Guido has asked himself the same question.  Some developers who love l.c.s 
are sure they will stay.  I am not.  I think it might depend on whether 
they have any real advantages in the context of the 3.0 engine and design, 
which don't exist yet.

> IMO they should
> not (TIOOWTDI, uniformity among builtin data structures, not
> overwhelmingly more useful than set or dict comprehensions), but
> there's a long way till that day.


Terry J. Reedy

More information about the Python-list mailing list