liste umdrehen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
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
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Code: Alles auswählen

for a in range(10,0,-1):
    print a
Gruß, mawe
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

oder liste.reverse() verwenden, aber bei diesem beispiel machts nicht viel sinn

gruss
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

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
[code]#!/usr/bin/env python
import this[/code]
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

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?
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

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
Sorgenkind
User
Beiträge: 34
Registriert: Samstag 24. Juli 2004, 19:25
Kontaktdaten:

wenn du python 2.4 verwendest, ist reversed(liste) ziemlich gut
Antworten