On Thu, Mar 30, 2017 at 8:23 PM, Brice PARENT <cont...@brice.xyz> wrote:
> > Le 30/03/17 à 19:06, Markus Meskanen a écrit : > >> And like I said before, for loop is just another way of doing while loop, >> yet nobody's complaining. There's nothing wrong with having two different >> ways of doing the same thing, as long as one of them is never the better >> way. If we add `repeat`, there's never a reason to use `for _ in range` >> anymore. >> > It doesn't always creates something easier to use, like for example : > `for _ in range(x, y, z)` (fixed or variable parameters) > `for _ in one_list` (saves a call to len() with your solution) > `for _ in any_other_kind_of_iterable` (we don't need to know the length > here, we may even use a generator) Your first example: > `for _ in range(x, y, z)` Makes little sense, since there's still a fixed amount of steps and normal range(x) could just be used instead. As a matter of fact, it can be replaced with either of these, arguably `repeat_for` version being cleaner: for _ in range((y-x+1)//z) repeat_for (y - x + 1) // z And in that one *extremely* unlikely and rare scenario where someone really does need range() with variable start, stop, and step, and doesn't need the returned variable, he can freely still use `for _ in range`. This won't remove it. Your other two examples: > `for _ in one_list` > `for _ in any_other_kind_of_iterable` Aren't related to the syntax I'm proposing, you even quoted this part yourself: > there's never a reason to use `for _ in range` anymore. But your examples don't use range() to begin with.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/