> I mean what I really would like is to have something C++ - like "for > (int idx = a; idx < b; i++) { .. }" where no internal vector or > something like that is allocated but only a few op's on registers are > performed; in the whileloop in python the picture is roughly the same
Use xrange instead - as it is customary for at least python2.1, if not even earlier. > behind the scenes I guess.. but what about in the forloop? Is python > smart enough not to generate an internal vector as it does usually for > lists or do I have to apply some modifications (xrange..)? What happens > further if I do the following: > > ## 2.1 ## > > def forloop(a,b,lst): > > for idx in lst.sort(): > ## .. > ## do something > ## .. > > ####### > > Is the sorting function called in every iteration just to detect that > (after the first sorting) it is useless comming back to the loop or does > this happen: > > ## 2.2 ## > > def forloop(a,b,lst): > > lst.sort() > for idx in lst: > ## .. > ## do something > ## .. > > ####### The iterable-expression of a for _ in _: is always only evaluated once. Diez -- http://mail.python.org/mailman/listinfo/python-list