List Comprehensions - Fortschritt oder Hemmschuh?
Verfasst: Donnerstag 29. Mai 2003, 14:05
Hallo,
ich hab mir mal gedanken gemacht, was die "List Comprehensions" in Python 2.2 eigentlich bringen, sie sollen ja map und filter ersetzen. Naja, testet mal selbst.
Interessantes Ergebnis oder nicht?
Gruß
Dookie
ich hab mir mal gedanken gemacht, was die "List Comprehensions" in Python 2.2 eigentlich bringen, sie sollen ja map und filter ersetzen. Naja, testet mal selbst.
Code: Alles auswählen
#!/usr/bin/env python
from time import clock
max = 200000
liste = range(ord("a"),ord("z")+1)
def forloop(n, f):
for i in xrange(n):
tmp = f()
print "Teste map()"
print "map(chr, liste)"
a = clock()
forloop(max, lambda : (map(chr, liste)) )
b = clock()
lzm = b-a
print "Laufzeit = %.3f\n" % lzm
print "Teste for"
print "([chr(x) for x in liste])"
a = clock()
forloop(max, lambda : ([chr(x) for x in liste]) )
b = clock()
lzl = b-a
print "Laufzeit = %.3f\n" % lzl
if lzl > lzm:
print "Ein map(chr, liste) ist %.2f mal schneller als ein [ chr(x) for x in liste]" % (lzl/lzm)
else:
print "Ein [ chr(x) for x in liste] ist %.2f mal schneller als ein map(chr, liste)" % (lzm/lzl)
print
Gruß
Dookie