Как использовать функцию карты с условием?

#python

Вопрос:

У меня есть следующий цикл:

 for i in data.id.unique():
    if i in group.groups.keys():
      main_func(i)
 

Как я могу использовать функцию карты в python для многопроцессорной обработки, я хочу применить приведенный выше код в функции пула

 pool = Pool(processes=5)
pool.map(main_func, group.groups.keys())
 

Комментарии:

1. pool.map(main_func, [x, если x в group.groups.keys() для x в data.id.unique()])

Ответ №1:

Я думаю, вы можете использовать это:

 pool = Pool(processes=5)
pool.map(main_func, [i for i in data.id.unique() if i in group.groups.keys()])
 

Ответ №2:

Как насчет использования лямбды:

 pool.map(lambda x: main_func(x) if x in groups.groups.keys() else None, data.id.unique())