import numpy as npdef f(size):
a = np.zeros(size) # pre-allocate arrays
for i in range(size):
a[i] = 2 ** i
return adef g(size):
return 2.0 ** np.arange(size)%timeit f(1000)284 µs ± 4.03 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
%timeit g(1000)3.49 µs ± 26.8 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)
def h(size):
l = []
for i in range(size):
l.append(2 ** i)
return l%timeit h(1000)229 µs ± 2.17 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
def h(size):
l = [0] * size
for i in range(size):
l[i] = 2 ** i
return l%timeit h(1000)232 µs ± 3.43 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)