Fredrik Lundh wrote: > > mal wrote: > > Wouldn't it make much more sense to write something > > more lambda function like, e.g. > > > > [for (x,y) in zip([10,20,30], [1,2,3]): x+y] > > > > or > > > > [for x in range(100): x*2] > > fwiw, I read that as: > > [ > for x in range(100): > x * 2 > ] > > which makes no sense at all. Why doesn't that make sense ? Is this just a gut feeling or explainable ? IMHO, the meaning of the differen parts is intuitively understandable from the fact that Python's standard "for" notation works in the same way. OTOH, the notation "x*2 for x in range(100)" looks strange to me and probably to others too, because it doesn't make clear what "x" really refers to until you read on... this is Python not Forth or Haskell ! BTW, is it the missing append operator (the one that pushes x*2 onto the list) that's bothering you ? Note that we could also extend the above by allowing multiple such constructs separated by commas: data = (1.3, 1.2, 1.1) l = [for x in data: 3*x, for x in data: x/10] -- Marc-Andre Lemburg ______________________________________________________________________ Business: http://www.lemburg.com/ Python Pages: http://www.lemburg.com/python/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4