概述
使用以下三种模式测量了计算列表乘积所需的时间。
- 使用 for 语句传递list
- 使用math模块
- 使用numpy
下面是实际运行的代码。
import timestart = time.time()
A = [1] * 100000000
ans = 1
for a in A:ans *= a
print("list loop:", time.time() - start)import math
start = time.time()
ans = math.prod(A)
print("math.prod:", time.time() - start)import numpy as np
start = time.time()
ans = np.prod(A)
print("numpy.prod:", time.time() - start)
结果如下。
list loop: 3.508364677429199
math.prod: 0.47490572929382324
numpy.prod: 2.398198127746582
结果
用表格总结一下
显然,使用math模块要快得多!