ドキュメントhttps://docs.python.org/3/library/multiprocessing.htmlから、マルチプロセッシングとPythonを初めて使用します。
以下のコードを実行することができました。
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3]))
しかし場合は、f(x)
に変更されf(x,y,z)
ているように
def f(x, y, z):
return x*y*z
メソッドf(x, y, z)
から3つの引数を渡すための構文は何p.map
ですか?
多分あなたは探していstarmap
ますか?
starmap(func, iterable[, chunksize])
map()と同様ですが、iterableの要素は、引数としてアンパックされるiterableであることが期待されます。
したがって、
[(1,2), (3, 4)]
結果の反復可能は[func(1,2), func(3,4)]
。バージョン3.3の新機能。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加