Often, I am building an array by iterating through some data, e.g.:
my_array = [] for n in range(1000): # do operation, get value my_array.append(value)
NumPy provides a 'fromiter' method:
def myfunc(n): for i in range(n): yield i**2 np.fromiter(myfunc(5), dtype=int)
which yields
array([ 0, 1, 4, 9, 16])