On Tue, Jun 25, 2013 at 8:43 AM, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Mon, Jun 24, 2013 at 4:41 PM, Fábio Santos <fabiosantos...@gmail.com> > wrote: >> >> On 24 Jun 2013 22:29, "Ian Kelly" <ian.g.ke...@gmail.com> wrote: >>> >>> On Mon, Jun 24, 2013 at 2:34 PM, Fábio Santos <fabiosantos...@gmail.com> >>> wrote: >>> > This can probably be best achieved by adding to the existing for loop, >>> > so maybe taking advantage of the existing for...if syntax and adding >>> > for...while would be a better idea? >>> >>> The for...if syntax only exists for comprehensions and generators. If >>> we're going to add for...while for loops, then we might as well go >>> ahead and add for...if loops there as well. >>> >>> That said, I do like this syntax better than "fwhile". >> >> Good point. Still, I don't see why for..if doesn't exist in for loops >> anyway. It may be lack of foresight, but I don't understand why at all. > > Because it adds more syntax to learn when learning the language, it > introduces more maintenance overhead, and it offers no clear benefit > over simply nesting an if inside a for.
In more free-form languages, I implement this by simply omitting a line-break: for (int i=0;i<num_whatevers;++i) if (whatever[i].flag) { do_stuff; } Python could afford to lose a little rigidity here rather than gain actual new syntax: for i in range(10): if i%3: print(i) And there you are, the for-if "filtered iteration" model, just by relaxing one rule. ChrisA -- http://mail.python.org/mailman/listinfo/python-list