【python】—— 使用经验:并行计算代替for循环

在python中,for循环是执行串行计算,换句话说,for循环中的每个阶段一定要在上一个阶段完成之后才能被执行。当循环的代数特别多时,这样会非常耗费时间。

map( ) 这个函数能够将for循环的串行计算改变成并行计算。

import time

def func(x):
    x = (x**2)**2
    return x

lists = list(range(100000))

start = time.time()
a=[]
for num in lists:
    a.append(func(num))
end = time.time()
print('Serial computing time:\t',end - start)

start = time.time()
b = map(func,lists)
end = time.time()
print('Parallel Computing time:\t',end - start)

print(a == list(b))
【结果】
Serial computing time:	 0.11100649833679199
Parallel Computing time:	 0.0
True

延伸阅读:python并行计算
多线程并行计算map

发布了103 篇原创文章 · 获赞 33 · 访问量 13万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章