Можно ли распараллелить создание dict в python? - PullRequest
0 голосов
/ 08 марта 2020

У меня действительно есть этот код для создания диктанта.

import multiprocessing
cpus = multiprocessing.cpu_count()
pool = multiprocessing.Pool(processes=cpus)
items = data['id'].unique()

def compute_weight(item):
    return sum(data[data['id'] == item])
weights = pool.map(compute_weight, items)

my_dict = {k, v for k, v in zip(items, weights)}

Мой вопрос: есть ли способ напрямую создать словарь с многопроцессорной обработкой?

1 Ответ

1 голос
/ 08 марта 2020

Нет, но вам не нужен l oop.

Используйте

my_dict = dict(zip(items, weights))

, который должен быть значительно быстрее, потому что он толкает l oop вниз к * Уровень 1009 * (в случае CPython)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...