map/filter/reduce/lambda opinions and background unscientific mini-survey
Ron Adam
rrr at ronadam.com
Thu Jul 7 23:25:57 EDT 2005
Christopher Subich wrote:
> As others have mentioned, this looks too much like a list comprehension
> to be elegant, which also rules out () and {}... but I really do like
> the infix syntax.
Why would it rule out ()?
You need to put a lambda express in ()'s anyways if you want to use it
right away.
print (lambda x,y:x+y)(1,2)
If you don't use the ()'s it reads the y(1,2) as part of the lambda
expression, might as well require the ()'s to start with rather than
leave it open for a possible error.
You could even say () is to function as [] is to list.
a function : name(args) -> returns a value
a list : name[index] -> returns a value
My choice:
name = (let x,y return x+y) # easy for beginners to understand
value = name(a,b)
value = (let x,y return x+y)(a,b)
I think the association of (lambda) to [list_comp] is a nice
distinction. Maybe a {dictionary_comp} would make it a complete set. ;-)
Cheers,
Ron
More information about the Python-list
mailing list