比方说,我有一个循环,只有当某些条件被满足时才会 "输出"。
output = []
for item in some_list:
if condition(item):
res = do_something(item)
output.append(res)
由于内存的限制,我不能填满 output
列表 None
-s,所以我无法写出.s。
joblib.Parallel(n_jobs=n)(joblib.delayed(do_something)(item) for item in some_list)
有没有一种快速合理的方法,可以让 Parallel
不包括多余的 None
-s?
EDIT
我忘了说明,既检查 condition(item)
和实际 do_something(item)
的时间太长,所以我想把这两个循环并行化。
Q : "是否有一种快速合理的方法,可以使下列机构产生的产出清单:
Parallel
不包括多余的None
-s?"
是的。
定义 for item
-发电机部分视需要而定。
joblib.Parallel( n_jobs = n )( joblib.delayed( do_something )( item )
for item in some_list
if condition( item )
)