看板 Python 關於我們 聯絡資訊
在做multiprocessing時 若目標function是一個多變數函數(multi-arguments) 那可能會用到starmap starmap 的語法是: for a function of x and y, starmap(f,[[x1,y1],[x2,y2],[x3,y3]...]) 這樣multiprocess 就會分別算 f(x1,y1) f(x2,y2) f(x3,y3) ...... 問題是: 如果arguments是一個很大的list 那要如何將argument放入starmap中? 原本的作法是另外寫一個for loop 創造這個大list 但這樣的作法太慢,不知道有沒有更好的做法? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 23.242.118.130 (美國) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1630650493.A.1C3.html
lycantrope: 改用*args跟**kwargs,帶入你想要的function 09/03 15:16
lycantrope: 如大部分argument都不會變動,可用functools.partial 09/03 15:17
太感謝!! 這很實用! ※ 編輯: a29788685 (23.242.118.130 美國), 09/03/2021 16:14:57