ich will die 17. Spalte einer Liste zu einen langen String verknuepfen. Ich habe drei Methoden mit je 5000, 10000 und 25000 Zeilen ausprobiert, und die Zeiten in drei Diagramme geplottet:
Code: Alles auswählen
teiler = 1000
#### methode 1 start
s = ""
s2 = ""
c = 0
ctime = time.time()
t1 = [[0, 0]]
for i in liste:
s = ''.join((s, str(i[17])))
c = c + 1
print c
if (c % teiler) == 0:
s2 = ' '.join((s2, s))
s = ""
# c = 0
t1.append([str(time.time() - ctime), str(c)])
print t1
#### methode 1 stopp
#### methode 2 start
s = ""
c = 0
ctime = time.time()
t2 = [[0, 0]]
for i in liste:
s = ''.join((s, str(i[17])))
c = c + 1
print c
if (c % teiler) == 0:
t2.append([str(time.time() - ctime), str(c)])
print t2
#### methode 2 stopp
#### methode 3 start
s = ""
c = 0
ctime = time.time()
t3 = [[0, 0]]
for i in liste:
s = s + ' ' + str(i[17])
c = c + 1
print c
if (c % teiler) == 0:
t3.append([str(time.time() - ctime), str(c)])
print t3
#### methode 3 stopp
#### Daten in Textdateien um mit gnuplot zu plotten
vergleich = ""
for t, d in (t1, '1'), (t2, '2'), (t3, '3'):
outfile = open('vergleich.stat' + d, 'w')
for r in t:
t = str(r[0])
l = str(r[1])
zeile = ' '.join((t, l, '\n'))
outfile.write(zeile)
outfile.close()
Was gibt es sonst noch fuer schnellere Methoden?