擅长:python、mysql、java
<p>下面是我应该做的一个代码,如果列表非常大,则使用多进程</p>
<pre><code>import joblib
from joblib import Parallel,delayed
test_list = ['temp', 'temperature']
b = ['sunny', 'cloudy', 'stempy', 'temp','newtemperature']
hit_name = []
# Using un function to paralleliza it if database is big
def func(x,y):
if all(c in b[y] for c in test_list[x]):
return(b[y])
# using the max of processors
number_of_cpu = joblib.cpu_count()
# Prpeparing a delayed function to be parallelized
delayed_funcs = (delayed(func)(x,y) for x in range(len(test_list)) for y in range(len(b)))
# fiting it with processes and not threads
parallel_pool = Parallel(n_jobs=number_of_cpu,prefer="processes")
# Fillig the hit_name List
hit_name.append(parallel_pool(delayed_funcs))
# Droping the None
hit_name = list(set(filter(None, hit_name[0])))
hit_name
</code></pre>
<p><a href="https://i.stack.imgur.com/nZOgu.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/nZOgu.png" alt="enter image description here"/></a></p>