Message92183
The range type should implement the __contains__ method. Currently an
expression like 'x in range(10000000)' will iterate through every item
in the range (exiting when an item tests true for equality); this is
highly unnecessary as the following expression will perform the same
function in a fraction of the time:
value >= start and value < stop and (value - start) % step == 0
The biggest advantage of this modification would be to allow users to say:
if foo in range(lower, upper):
bar()
instead of:
if foo >= lower and foo < upper:
bar()
safe in the knowledge that they are losing no performance. The former
is also far more Pythonic in my opinion :).
If there is still any doubt (which I doubt), I have attached an example
script showing what is to be gained. |
|
Date |
User |
Action |
Args |
2009-09-02 20:49:20 | hpesoj | set | recipients:
+ hpesoj |
2009-09-02 20:49:20 | hpesoj | set | messageid: <1251924560.8.0.143337742055.issue6826@psf.upfronthosting.co.za> |
2009-09-02 20:49:19 | hpesoj | link | issue6826 messages |
2009-09-02 20:49:18 | hpesoj | create | |
|