[問題] starmap 和 arguments

看板Python作者 (神奇寶貝大師)時間3年前 (2021/09/03 14:28), 3年前編輯推噓1(101)
留言2則, 1人參與, 3年前最新討論串1/1
在做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

09/03 15:16, 3年前 , 1F
改用*args跟**kwargs,帶入你想要的function
09/03 15:16, 1F

09/03 15:17, 3年前 , 2F
如大部分argument都不會變動,可用functools.partial
09/03 15:17, 2F
太感謝!! 這很實用! ※ 編輯: a29788685 (23.242.118.130 美國), 09/03/2021 16:14:57
文章代碼(AID): #1XCS1z73 (Python)
文章代碼(AID): #1XCS1z73 (Python)