Hi all,

As the Python doc says: "The for statement in Python differs a bit from what you may be used to in C or Pascal. Rather than giving the user the ability to define both the iteration step and halting condition (as C), Python's for statement iterates over the items of any sequence (a list or a string)."

This is much poorer than C/C++, and does not allow for the step action to be multiple actions, fn calls etc. - not straightforwardly anyway. (don't take that as a challenge) - I know how to migrate to a while-loop, but I lament losing the very compact expressiveness of:
for (node=start; value<threshold && node!=end; node=node->next) { ... }
- I figure the straightforward answer will be "use a while-loop, put the iteration step at the end". - the fancy showoff answer will probably involve a funky iterator with side-effects, or returning tuples. - what if the loop iteration step involves variables from within the loop-body (e.g. as in quicksort stepsize); - what I'm trying to drive at here is the general solution of least idiomaticity, not of greatest language-specific cleverness

Any comments or article links? Also, it would be useful to improve the Python tutorial on this. Since this is one area where Python is (syntactically) inferior to C/C++/Java.

Thanks,
Stephen

_________________________________________________________________
More photos, more messages, more storage—get 2GB with Windows Live Hotmail. http://imagine-windowslive.com/hotmail/?locale=en-us&ocid=TXT_TAGHM_migration_HM_mini_2G_0507

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to