如何用Python编写理解列表

问题描述 投票:0回答:1

我想改变这个:

     for _ in range(3):
         number = random.randint(1, 2)  # choosing a random waiting time for seconds
         p = multiprocessing.Process(target=do_something, args=(number,))
         p.start()
         process.append(p)

进入此:

 with concurrent.futures.ProcessPoolExecutor() as executor:
        results = [(number,executor.submit(do_something, number)) for number in range(10) number=random.randint(10)]

我不知道如何做好,我有这个错误:

results = [(number,executor.submit(do_something, number)) for number in range(10) number=random.randint(10)]
                                                                                      ^^^^^^
SyntaxError: invalid syntax

我尝试过放入 ()[] 甚至 , 我不知道该尝试什么

python multiprocessing list-comprehension
1个回答
0
投票

试试这个:

import concurrent.futures
import random

with concurrent.futures.ProcessPoolExecutor() as executor:
    results = [(number, executor.submit(your_function_here, number)) for number in [random.randint(1, 2) for _ in range(3)]]

确保将 your_function_here 替换为您要执行的实际函数。

我相信这就是您正在寻找的实现您正在寻找的并行执行的方法。

© www.soinside.com 2019 - 2024. All rights reserved.