Ich könnte mich irren (lass es mich wissen und ich werde die Frage löschen), aber es scheint, dass Python nicht darauf reagiert
for n in range(6,0):
print n
Ich habe versucht, xrange zu verwenden, und es hat auch nicht funktioniert. Wie kann ich das umsetzen?
for i in reversed(mat):
obwohl das langsamer sein könnteAntworten:
quelle
range(5,-1,-1)
. Obwohl er das wahrscheinlich aus Versuch und Irrtum herausfinden konnte.Dies ist sehr spät, aber ich wollte nur hinzufügen, dass es einen eleganteren Weg gibt: Verwenden
reversed
gibt:
quelle
reversed(range)
kostenlos aufgrund derrange_reverse
in CPython integrierten netten Optimierung. Ich habe einige schnelle Benchmarks durchgeführt und konnte keinen signifikanten Kostenunterschied zwischenstep=-1
undreversed()
in Python 2.7 und 3.3 feststellen . Bitte beachten Sie auch, dass diese Redewendung in heapq verwendet wird .xrange
in Ihren Python 2.7-Tests verwendet haben,reverse
wird eine normale, bereits generierte Liste und kein Bereichsobjekt verwendet. Wollen Sie damit sagen, dass jede Liste effizient umgekehrt werden kann oder nurrange/xrange
Objekte? (Der Heapq-Code, mit dem Sie verknüpfen, enthält ein Python 3-Bereichsobjekt.)step=-1
zureversed()
zwischen Python 2.3 und 2.4reversed(range(10))
kann unmöglich4
durch ausgeben0
. Vielleicht hast du gemeintrange(5)
?Das würde dir geben
6,5,4,3,2,1
Wie für
würde dir geben
5,4,3,2,1,0
quelle
quelle
quelle
0 ist ein bedingter Wert, wenn diese Bedingung erfüllt ist. Die Schleife wird weiterhin ausgeführt. 10 ist der Anfangswert. 1 ist der Modifikator, bei dem es sich möglicherweise um eine einfache Dekrementierung handelt.
quelle
Spät zur Party, aber für alle, die ihre eigenen erstellen möchten oder sehen möchten, wie dies funktionieren würde, gibt es hier die Funktion mit dem zusätzlichen Bonus, die Start-Stopp-Werte basierend auf dem gewünschten Inkrement neu anzuordnen:
Negatives Inkrement:
Oder mit umgekehrtem Start-Stopp:
Ausgabe:
Regelmäßiges Inkrement:
Ausgabe:
Null-Inkrement:
Ausgabe:
quelle
Geben Sie für Python3
-1
den Wert an, der in jedem Schritt dekrementiert werden sollfor n in range(6,0,-1): print(n)
quelle