Форум сайта python.su
0
Возникла необходимость реализовать многопоточность в приложении, был выбран вариант pool.map().
Такой вопрос:
Пытаюсь вставить в pool.map() функцию с двумя перемнными, одна из них это список, который map должна перебирать, а другая - это перемнная с одним значением, её нужно просто передать. Как это сделать?
Например:
list1 - это список значений, которые нужно перебрать через map
objekt - это объект который нужно просто передать в функцию
def funk(list1, objekt):
выполняемое действие
pool = Pool(4)
pool.map(?????????)
Отредактировано prince660 (Фев. 15, 2016 11:28:44)
Офлайн
26
In [1]: def f(x): ...: return x*x ...: In [2]: list1 = [1, 2, 3, 4, 5] In [3]: map(f, list1) Out[3]: [1, 4, 9, 16, 25]
Офлайн
0
Этот пример я тоже находил в интернете и пробовал использовать, но мне он не подходит. У меня функция на входе должна получать Два значения и только Одно из этих двух значений должно итерироваться через map.
Офлайн
857
>>> from multiprocessing import Pool >>> >>> def f(lst, n): ... return n + sum(lst) ... >>> def g(t): ... return f(*t) ... >>> lst = [([1, 2, 3], 5), ([4, 5, 6], 8)] * 5 >>> >>> p = Pool(5) >>> p.map(g, lst) [11, 23, 11, 23, 11, 23, 11, 23, 11, 23] >>>
Отредактировано py.user.next (Фев. 16, 2016 09:45:53)
Офлайн