pythonのfor文、rangeとenumerate、早いのはどっち?
今回は、20ループを10回繰り返した時間で対決
準備
import random A = [[random.random()] * 1000 for i in range(1000)]
range
%%timeit -n 20 -r 10 A_sum = 0 for j in range(len(A)): for k in range(len(A[j])): A_sum += A[j][k]
enumerate
%%timeit -n 20 -r 10 A_sum = 0 for jin, j in enumerate(A): for kin, k in enumerate(j): A_sum += k
結果
enumerateの勝利