import time def myflat(lst): f = [] for l in lst: f.extend(l) return f def sumflat(lst): return sum(lst, []) def longlst(n): return [[0] for i in xrange(n)] def timeit(func, *args): t1 = time.time() func(*args) t2 = time.time() return t2 - t1 def testtime(func): ntry = [10**i for i in range(3, 6)] for e in range(3, 6): n = 10**e t = timeit(func, longlst(n)) print "10^%d : %f s" % (e, t) print "myflat():" testtime(myflat) print print "sumflat():" testtime(sumflat)