@Svoboo

Как получить номер элемента списка, обрабатываемого мультипотоком в python?

Есть список links, который обрабатывается:
with ThreadPoolExecutor(max_workers=num_threads) as pool:
    pool.map(my_func(links))

Подскажите, как в самой функции my_func я могу получить порядковый номер обрабатываемого элемента?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@deliro
map — это применение функции к каждому элементу списка
То есть, pool.map(f, links) — это тоже самое, что (f(x) for x in links), только запускается в пуле потоков "параллельно"
Порядковый номер — сделай enumerate.

def f(t):
    i, l = t
    print(f"{l=} {i=}")
    
with ThreadPoolExecutor() as pool:
    for _ in pool.map(f, enumerate(["link1", "link2"])):
        pass
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы