有一个循环里面套循环的模式,
在内循环的循环体内要同时用到大循环和小循环的变量。
我这里是简化成了一个简单的模型,
这种模式如果函数复杂的话速度超级慢,
想问一下如何使用多进程的办法来解决速度问题?
我的思路是,只对小循环采用多进程,
在大循环的循环体内写多进程的代码,
但是一直失败,
求大神给出正确的代码。
拜谢!
import random as r
list1=list(range(100))
i=0
reslist=[]
while i<2000:#大循环
alist=[]#三个列表变量,每次循环开始时清空
blist=[]
clist=[]
for each in list1:#小循环
x=r.randint(i+30,i+60)+each#涉及到大、小循环变量的几个函数,这里用random示意
y=r.randint(i+60,i+120)+each
z=r.randint(i+60,i+180)+each
res=2.5*x-y-z
reslist.append(res)#对函数结果进行操作
if res>=50:
alist.append(each)
if -50<res<50:
blist.append(each)
if res<=-50:
clist.append(each)
for each in alist:#在大循环中对小循环中得出的结果进行进一步其他操作
print(each)
for each in blist:
print(each)
for each in clist:
print(each)
i+=1
如果小循环中执行的函数比较耗时的话可以考虑生产者-消费者模型