def join(a):
    """Joins a sequence of sequences into a single sequence.  (One-level flattening.)
    E.g., join([(1,2,3), [4, 5], [6, (7, 8, 9), 10]]) = [1,2,3,4,5,6,(7,8,9),10]
    This is very efficient, especially when the subsequences are long.
    """
    n = sum([len(b) for b in a])
    l = [None]*n
    i = 0
    for b in a:
        j = i+len(b)
        l[i:j] = b
        i = j
    return l
    
def join2(a):
    result = []
    for x in a:
        result.extend(x)
    return result
        
def join3(a):
    result = []
    map(result.extend, a)
    return result
    
def join4(a):
    return reduce(lambda l, r: l.extend(r) or l, a, [])

testdata = [range(t) for t in range(100, 200)]

import timeit, pprint
results = [
    (funcname, timeit.timeit(lambda: func(testdata), number=150))
    for funcname, func in locals().items()
    if hasattr(func, '__call__')]
pprint.pprint(sorted(results, key=lambda x: x[1]))