[Python-de] 1,2,3,5,7,8,9 -> "1-3,5,7-9"

Alexander 'boesi' Bösecke boesi.josi at gmx.net
Mit Jun 23 12:02:55 CEST 2004


Hi

Am 21.06.2004 15:13:59 schrieb René Liebscher:

Was zum Teufel hat GMX veranlasst deine Mail als Spam anzusehen?

> Stimmt, und deshalb habe ich meine Variante mit dem Generator auch noch 
> mal angepasst.
> Das läuft dann mehr als doppelt so schnell, wenn man die map/str 
> Kombination weglässt und die Konversion in Strings schon in der Funktion 
> ausführt.

Kann ich leider gar nicht bestaetigen.

Anzahl Listenelemente: 10000
Anzahl Loops: 100
Laufzeit pro Loop im Schnitt:
  boesi     :    0.0169 sec (Alexander B÷secke)
  Peter3    :    0.0130 sec (Peter Otten - schnell optimiert)
  Rene_x2   :    0.0162 sec (Rene Liebscher mit Generator und ``)
  Rene_x    :    0.0250 sec (Rene Liebscher mit Generator und map/str)
Anzahl Listenelemente: 100000
Anzahl Loops: 100
Laufzeit pro Loop im Schnitt:
  boesi     :    0.1750 sec (Alexander B÷secke)
  Peter3    :    0.1381 sec (Peter Otten - schnell optimiert)
  Rene_x2   :    0.2196 sec (Rene Liebscher mit Generator und ``)
  Rene_x    :    0.2613 sec (Rene Liebscher mit Generator und map/str)
Anzahl Listenelemente: 300000
Anzahl Loops: 100
Laufzeit pro Loop im Schnitt:
  boesi     :    0.5916 sec (Alexander B÷secke)
  Peter3    :    0.5711 sec (Peter Otten - schnell optimiert)
  Rene_x2   :    1.5888 sec (Rene Liebscher mit Generator und ``)
  Rene_x    :    0.8867 sec (Rene Liebscher mit Generator und map/str)

Also irgendwas laeuft da schief, den Versuch mit n=1000000 musste ich
ganz abbrechen. Mit Generatoren hab ich mich leider noch gar nicht
beschaeftigt, weswegen mir die Ursache absolut verborgen bleibt.
Aber...
 
> def x2(data):
>     [...]
>              # minus ist schon mal ausgegeben?
>              if minus:
>                  pass
>              else:
>                  # dann eben jetzt erstmal
>                  yield '-'
>                  minus=1
>     [...]

Was das soll, musst du mir mal erklaeren, warum machst du nicht einfach:
      if not minus:
          yield '-'
          minus=1
          

cu boesi
-- 
                                                     #1671 : icq-intern
Ohne Dich waeren die Gefuehle von heute          #73628288 : icq-extern
nur die leere Huelle der Gefuehle von damals      boesi111 : aim
      .-==Die fabelhafte Welt der Amelie==-.          i171 : reallife