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

Alexander 'boesi' Bösecke boesi.josi at gmx.net
Don Jun 24 10:25:32 CEST 2004


Hi

Am 23.06.2004 16:47:36 schrieb Mathias Uebel:

> Darf ich mich einmischen?

Klar darfst du 

> Wenn es um Effizients geht, soll eine Array schneller verarbeitet werden 
> als herkömmliche Listen (gelesen in Ge-Packt, Seite 311).

Also fuer das konkrete Problem hier stimmt das wohl nicht:

Anzahl Listenelemente: 1000000
Anzahl Loops: 3
Laufzeit pro Loop im Schnitt:
  boesi3    :    2.1362 sec (resListe.append('-' + `last` + ',' + `element`))
  boesi7    :    1.9034 sec (resListe[k] = `-last` + ',' + `element`)
  boesi9    :    2.1395 sec (cStringIO)
  boesi10   :   13.1260 sec (Array)

Unabhaengig von dieser Benchmark-Spielerei wuerde ich wohl cStringIO
nutzen - gehoert mit zu den schenllsten Varianten und ist mit Abstand am
besten lesbar (IMHO).


cu boesi
-- 
Ein sicherer Rechner steht ohne Netz und Strom in    #1671 : icq-intern
einem Schweizer Kellersafe, die Schwiegermutter  #73628288 : icq-extern
hält mit dem Nudelholz Wache vor der Kellertüre   boesi111 : aim
... Und sicher sind die Daten trotzdem nicht ...      i171 : reallife