Я думаю, что проблема, с которой вы столкнулись, заключается в том, как вы реализуете вызов карты звездного неба. Эта команда предполагает, что вы пытаетесь создать список отдельных кортежей, которые будут функционировать как свои собственные итерации:
[(my_list[i]) for i in range(0, 21)] # recreates your list [val 1, val 2, val 3, ...]
Однако это снова создает ваш исходный список. Вы можете исправить это, используя запятую, которая создает то, что, я думаю, вы пытаетесь создать, например:
[(my_list[i], ) for i in range(0, 21)] # creates [(val 0), (val 1), (val 2) ...]
Однако это просто создает дополнительный код для вас, хотя он вообще не нужен, я думаю. Я предлагаю вам использовать карту вместо звездной карты, например:
import multiprocessing as mp
# no need to define results
pool = mp.Pool(mp.cpu_count())
results = pool.map(fit_model, my_list)
pool.close()
Или, на мой взгляд, более pythoni c манеру:
import multiprocessing as mp
with mp.Pool(mp.cpu_count()) as pool:
results = pool.map(fit_model, my_list)