
On 30/03/17 18:06, Markus Meskanen wrote:
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.
That's a C-programmer point of view. In C, it's true; for (init(); cond(); inc()) { ... } is just a convenient form of init(); while (cond()) { ...; inc(); } (ignoring breaks and continues) In Python, the two types of loop are conceptually rather more different. A while loop loops based on a condition; a for loop iterates through an iterable. Doing simple repetition as "for _ in range(x)" is a bit artificial really, but less ugly than doing it with a while loop. Your proposed "repeat" (however it is spelt) is a special case, and a pretty limited one at that. I'm not sure I've needed it, certainly not for a while, and I have to say I don't find array initialisation a compelling use-case. I really don't like the idea of finding it in comprehensions. -- Rhodri James *-* Kynesim Ltd