from random import random
list_1 = [random() for _ in range(1000000)]
list_2 = [random() for _ in range(1000000)]
out = [x + y for (x, y) in zip(list_1, list_2)]
out[:3]
[0.843375384328939, 1.507485612134079, 1.4119777108063973]
%timeit [x + y for (x, y) in zip(list_1, list_2)]
10 loops, best of 3: 69.7 ms per loop
import numpy as np
arr_1 = np.array(list_1)
arr_2 = np.array(list_2)
type(list_1), type(arr_1)
(list, numpy.ndarray)
arr_1.shape
(1000000,)
arr_1.dtype
dtype('float64')
sum_arr = arr_1 + arr_2
sum_arr[:3]
array([ 0.84337538, 1.50748561, 1.41197771])
%timeit arr_1 + arr_2
1000 loops, best of 3: 1.57 ms per loop