Paul Prescod wrote: > > "M.-A. Lemburg" wrote: > > > > ... > > > > Is it really necessary to have all the "code" inside the square > > brackets ? > > That's what a list comprehension is! Check the defacto PEP: > > http://www.cosc.canterbury.ac.nz/~greg/python/listcomp/ > > I take it you are against list comprehensions. If it means writing code in square brackets: yes -- I don't see any real benefit other than confusing the reader... it doesn't even gain any performance (I would have thought that constant ranges like [0:10] would generate [0,1,2,3,4,5,6,7,8,9] and make this a constant, but that doesn't seem to be the case). > > I always thought of list comprehension as a fast way to > > just throw together a list, not as a way to "program" the > > list contents. IMHO, that should be done using explicit > > statements in the way Skip describes above. > > > > I would be completely satisfied with e.g. [0..10], [0..10:2] > > and [10..0]. > > Those are not list comprehensions but "range literals." Oh, so I won't get these with list comprehension ? Hmm, then I'm posting on the wrong thread, I guess ;-) > Actually, the > syntax we are using is [0:10], [0:10:2], [10:0]. I prefer dotdot, but > Guido chose the colon a decade ago. Say, wouldn't it make more sense to have these notations generate tuples (which are immutable and could thus be stored as constants) rather than lists ?! for x in (0:10): print x Hmm, looks strange, perhaps not such a good notation.... for x in (0..10): print x or even: for x in 0..10: print x Oh, now this looks much better :-) The for-loop opcode could even make some use of this by not generating a tuple at all (it could use a special mutable counter like the one available in my speedup patch for 1.5: http://starship.python.net/~lemburg/mxPython-1.5.patch.gz [see the ceval part of the patch -- it uses the counter object the patch also contains which provides a mutable integer implementation for just this purpose] The patch also includes some other performance enhancements such as a small dictionary enhancement and many other things which have already made it into 2.0) -- 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