Wie kann man die folgende Liste mit range()
in Python erstellen?
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
die Funktion "Umgekehrt()" verwenden:
reversed(range(10))
Das ist viel sinnvoller.
Aktualisierung:
Wenn Sie wollen, dass es eine Liste ist (wie btk sagte):
list(reversed(range(10)))
Aktualisieren:
Wenn Sie nur Bereich
verwenden wollen, um das gleiche Ergebnis zu erzielen, können Sie alle seine Parameter verwenden. Bereich(Start, Stop, Schritt)`
Um zum Beispiel eine Liste [5,4,3,2,1,0]
zu erzeugen, können Sie folgendes verwenden:
range(5, -1, -1)
Es mag weniger intuitiv sein, aber wie in den Kommentaren erwähnt, ist dies effizienter und die richtige Verwendung des Bereichs für die umgekehrte Liste.
Verwenden Sie die integrierte Funktion 'Bereich'. Die Signatur lautet "range(start, stop, step)". Dies ergibt eine Folge von Zahlen, die mit Start
beginnt und endet, wenn Stopp
erreicht ist, wobei Stopp
ausgeschlossen wird.
>>> range(9,-1,-1)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> range(-2, 6, 2)
[-2, 0, 2, 4]
In Python 3 erzeugt dies ein Nicht-Listen-Objekt Bereich
, das effektiv wie eine Nur-Lese-Liste funktioniert (aber viel weniger Speicher verbraucht, besonders bei großen Bereichen).
range(9,-1,-1)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]