Diez B. Roggisch wrote:

>> No, the list comprehension lets you write an expression directly
>> avoiding a function call, and it also allows you to add in a
>> condition which can be used to filer the sequence. Your proposal adds
>> nothing. 
> 
> It does. Consider this:
> 
> whatever = [x for x in xrange(1000000000) while  x < 10]
> 
> 
> That would run only in a splitsecond of what the whole listcomp would.

Except that the comparable listcomp today is:

whatever = [x for x in takewhile(lambda x: x < 10, xrange(1000000000))]

which also runs in a split second.

Actually, the OP was correct, it does add something: it removes the need 
for a function or lambda in the takewhile just as the original listcomp 
removes a function or lambda compared with the map version.
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to