Seite 1 von 1

Iteration Rückwärts

Verfasst: Donnerstag 11. März 2004, 23:45
von wuf
Hallo Python Freunde

Im Python Tutorial (Release 2.3.3)
ist unter dem Kapitel:

5 Data Structures
5.1 Looping Techniques

folgendes Beispiel aufgeführt:

>>> for i in reversed(xrange(1,10,2)):
print i

9
7
5
3
1

Ich probierte dieses Beispiel auf Idle aus,
aber es funktionierte nicht.
Die Fehlermeldung sagt, dass 'reversed' nicht
vorhanden ist.

Meine Frage:
Funktioniert das bei Euch?
Muss da noch etwas importiert werden?

Hier noch als Code zum testen:

Code: Alles auswählen

for i in reversed(xrange(1,10,2)):
		print i
Gruss wuf :wink:

Verfasst: Freitag 12. März 2004, 00:21
von Dookie
Hi wuf,

dat läuft bei mir auch nicht. Python 2.3.3 ohne idle.
The released version of the Python 2.3.3 documentation describes a reversed() function; that function is not part of Python 2.3.x.
steht in der Onlinedocu -> 5.5 Looping Techniques


Gruß

Dookie

Verfasst: Freitag 12. März 2004, 01:26
von wuf
Hi Dookie

Besten Dank für Deine Bestätigung.

Gruss :lol:

Verfasst: Freitag 12. März 2004, 07:40
von Milan
Hi. Iteration rückwärts geht doch auch so ohne Probleme:

Code: Alles auswählen

for i in xrange(9,0,-2):
    print i
Milan

Verfasst: Freitag 12. März 2004, 07:56
von wuf
Hallo Milan

Danke für Deinen Tipp!

Gruss wuf :wink:

Verfasst: Freitag 12. März 2004, 18:04
von wuf
Hi

Es ist noch zu erwähnen, dass auch
bei einer Rückärts Iteration mit
der Schrittgrösse 1 diese explizit als
-1 angegeben werden muss. Also die
folgende Anweisung funktioniert nicht,
obwohl der Startwert höher ist als
Stopwert, hingegen braucht es bei einer
Vorwärts Iteration die Schrittgrösse nicht:

Code: Alles auswählen

for i in xrange(9,0):
	print i
So funktioniert es richtig:

Code: Alles auswählen

for i in xrange(9,0,-1):
	print i
Gruss wuf :wink:

Verfasst: Freitag 12. März 2004, 19:05
von Dookie
Hi auch,

nur zur Anmerkung. Die Schrittgrösse bei range/xrange ist mit 1 vorbelegt, daher braucht sie bei einfachen Schleifen nicht angegeben zu werden. Auch der Startwert ist standartmässig mit 0 vorgegeben, kann aber auch explizit angegeben werden.

Code: Alles auswählen

xrange(10)
ist daher gleichzusetzen mit

Code: Alles auswählen

xrange(0, 10, 1)
Gruß

Dookie

Verfasst: Freitag 24. November 2006, 15:12
von rolgal_reloaded
Hallo,

ist vielleicht interessant:

ab Python 2.4.1 funktioniert das :

Code: Alles auswählen

>>> for i in reversed(xrange(1,10,2)):
	print i
LG

rolgal_reloaded

Verfasst: Freitag 24. November 2006, 16:54
von mitsuhiko
rolgal_reloaded hat geschrieben:ist vielleicht interessant:

ab Python 2.4.1 funktioniert das :
[ ] du hast den Thread gelesen
[ ] du hast auf das Datum geschaut
[x] du hast einen zwei Jahre alten Thread wieder reaktiviert.

:wink:

Verfasst: Freitag 24. November 2006, 17:03
von rolgal_reloaded
@blackbird

Ich habe den Thread über die Snippets gefunden auf die vom Forum aus verlinkt wird:


http://www.pythonwiki.de/PythonSnippets


Es ist unsinnig, das nicht aufzulösen. Totaler Unsinn, egal wie alt der Thread ist.

Also nichts für ungut,

rolgal_reloaded

Verfasst: Freitag 24. November 2006, 17:08
von Leonidas
rolgal_reloaded hat geschrieben:Es ist unsinnig, das nicht aufzulösen. Totaler Unsinn, egal wie alt der Thread ist.
Der Thread ist doch schon gelöst :?:

Verfasst: Freitag 24. November 2006, 17:08
von rolgal_reloaded
Aber nicht hier, jetzt schon, das stimmt :D

Verfasst: Samstag 25. November 2006, 05:21
von sape
blackbird hat geschrieben: [ ] du hast den Thread gelesen
[ ] du hast auf das Datum geschaut
[x] du hast einen zwei Jahre alten Thread wieder reaktiviert.

:wink:
Und was ist daran schlimm? Also ich finde es gut wenn man NICHT einen extra Thread aufmacht wenn das Thema das gleiche ist ;) Wozu zu einem Thema 1K Threads im Forum haben. In den anderen Foren in den ich bin, wird es sogar als Spam empfunden wenn zu einem Thema andauernd Threads geöffnet werden, als die Frage in einem bestehenden Thread gleichen Themas zu posten ;) Ist das hier anders geregelt? :?

lg

Verfasst: Samstag 25. November 2006, 05:35
von mawe
Bitte was soll die Aufregung?
rolgal hat einen alten Thread um eine aktuelle Information erweitert. Und?