Iteration Rückwärts

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.
Benutzeravatar
wuf
User
Beiträge: 1408
Registriert: Sonntag 8. Juni 2003, 09:50

Iteration Rückwärts

Beitragvon wuf » Donnerstag 11. März 2004, 23:45

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:
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 12. März 2004, 00:21

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
Benutzeravatar
wuf
User
Beiträge: 1408
Registriert: Sonntag 8. Juni 2003, 09:50

Beitragvon wuf » Freitag 12. März 2004, 01:26

Hi Dookie

Besten Dank für Deine Bestätigung.

Gruss :lol:
Take it easy Mates!
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Beitragvon Milan » Freitag 12. März 2004, 07:40

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
Benutzeravatar
wuf
User
Beiträge: 1408
Registriert: Sonntag 8. Juni 2003, 09:50

Beitragvon wuf » Freitag 12. März 2004, 07:56

Hallo Milan

Danke für Deinen Tipp!

Gruss wuf :wink:
Take it easy Mates!
Benutzeravatar
wuf
User
Beiträge: 1408
Registriert: Sonntag 8. Juni 2003, 09:50

Beitragvon wuf » Freitag 12. März 2004, 18:04

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:
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 12. März 2004, 19:05

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
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Beitragvon rolgal_reloaded » Freitag 24. November 2006, 15:12

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
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Beitragvon mitsuhiko » Freitag 24. November 2006, 16:54

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:
TUFKAB – the user formerly known as blackbird
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Beitragvon rolgal_reloaded » Freitag 24. November 2006, 17:03

@blackbird

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

[url]
http://www.pythonwiki.de/PythonSnippets
[/url]

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

Also nichts für ungut,

rolgal_reloaded
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Freitag 24. November 2006, 17:08

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 :?:
My god, it's full of CARs! | Leonidasvoice vs Modvoice
rolgal_reloaded
User
Beiträge: 312
Registriert: Dienstag 24. Oktober 2006, 19:31

Beitragvon rolgal_reloaded » Freitag 24. November 2006, 17:08

Aber nicht hier, jetzt schon, das stimmt :D
sape
User
Beiträge: 1157
Registriert: Sonntag 3. September 2006, 12:52

Beitragvon sape » Samstag 25. November 2006, 05:21

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
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Samstag 25. November 2006, 05:35

Bitte was soll die Aufregung?
rolgal hat einen alten Thread um eine aktuelle Information erweitert. Und?

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]