Seite 1 von 1

liste umdrehen

Verfasst: Mittwoch 8. September 2004, 08:43
von rogen
ich möchte eine for schreife von hinten beginnen.

for a in range(10):
....

wie kann ich die liste umdrehen damit nicht (1,2,3,4,5,6)
sondern (..6.5.4.3.2.1) kommt

mfg

gerhard rogen

Verfasst: Mittwoch 8. September 2004, 09:10
von mawe
Hi!

Code: Alles auswählen

for a in range(10,0,-1):
    print a
Gruß, mawe

Verfasst: Mittwoch 8. September 2004, 10:20
von rayo
oder liste.reverse() verwenden, aber bei diesem beispiel machts nicht viel sinn

gruss

Verfasst: Mittwoch 8. September 2004, 11:52
von Dookie
es geht auch liste[::-1]
bei for-Schleifen am besen xrange verwenden, braucht weniger speicher und ist schneller.

Code: Alles auswählen

for a in xrange(9,-1,-1):
    print a

Gruß

Dookie

Verfasst: Sonntag 21. November 2004, 16:03
von jens
Komisch... Mit [::-1] geht's, bei reverse() kommt allerdings nur ein None zurück:

Code: Alles auswählen

PathIDs=[1,2,3]
print PathIDs[::-1]

PathIDs=[1,2,3]
print PathIDs.reverse()
Warum?

Verfasst: Sonntag 21. November 2004, 16:06
von rayo
weil reverse keine neue liste erstellt sondern die vorhandene umkehrt.

Code: Alles auswählen

PathIDs=[1,2,3]
print PathIDs[::-1]

PathIDs=[1,2,3]
PathIDs.reverse()
print PathIDs
Gruss

Verfasst: Montag 22. November 2004, 16:04
von Sorgenkind
wenn du python 2.4 verwendest, ist reversed(liste) ziemlich gut