0
点赞
收藏
分享

微信扫一扫

Vectorization python中避免使用显式for循环

JamFF 2022-07-18 阅读 104


import numpy as np

a = np.array([1, 2, 3, 4])
print(a)

import time

a = np.random.rand(1000000)
b = np.random.rand(1000000)

tic = time.time()
c = np.dot(a, b)
toc = time.time()

print(c)
print("Vectorization version:" + str(1000*(toc-tic))+"ms")

c = 0
tic = time.time()
for i in range(1000000):
c += a[i]*b[i]
toc = time.time()

print(c)
print("For loop:" + str(1000*(toc-tic))+"ms")

jupyter notebook显示结果:

249827.35477486273
Vectorization version:1.5137195587158203ms
249827.35477485287
For loop:259.1674327850342ms

用向量的运算比用for循环提高300倍的速度


举报

相关推荐

0 条评论