Я пишу программу, которая должна проработать около 1000 кандидатов и найти лучший результат. Мне нужно использовать многопроцессорность для работы со списком, потому что это будет сделано примерно 60000 раз. Как бы мы использовали многопроцессорность в этой ситуации. Скажем, что счет рассчитывается так:
def get_score(a, b):
return (a * b) / (a + b)
Я знаю a
в каждом случае, но он меняется каждый раз, когда вы go просматриваете список кандидатов, потому что он добавляет лучшего кандидата в список. Я хочу, чтобы он перебрал список кандидатов, а затем нашел лучший результат. Пример, не относящийся к многопроцессорной обработке, выглядит следующим образом:
s = [random.randint(0, 100)]
candidates = [random.randint(0, 100) for i in range(1000)]
for i in range(60000):
best_score = 0
best_candidate = candidates[0]
for j in candidates:
if get_score(s[-1], j) > best_score:
best_candidate = j
best_score = get_score(s[-1], j)
s.append(best_candidate)
Я знаю, что могу создать функцию, но мне кажется, что есть более простой способ сделать это. Извините за вопрос новичка. :/