Python-Iteratoren sind groß und alle, aber manchmal möchte ich wirklich eine C-style for-Schleife - keine foreach-Schleife. Zum Beispiel habe ich ein Startdatum und ein Enddatum und ich möchte etwas für jeden Tag in diesem Bereich tun. Ich kann dies tun mit einer while-Schleife, natürlich:Hat Python irgendwelche For-Schleife-Äquivalent (nicht Foreach)
current = start
while current <= finish:
do_stuff(current)
current += timedelta(1)
Dies funktioniert, aber es ist 3 Zeilen anstelle von 1 (in C oder C-basierten Sprachen) und ich finde mich oft zu vergessen die Inkrementierung Zeile zu schreiben, vor allem, wenn der Schleifenkörper sehr komplex ist. Gibt es einen eleganteren und weniger fehleranfälligen Weg, dies in Python zu tun?
+1 nicht nur weil es die einzige Antwort ist, die ** tatsächlich funktioniert ** aber auch weil es der richtige ist. Ernsthaft, wähle keine Antworten, die einfach gut aussehen * –