python编写程序,使用进程池Pool并行计算并输出4行5列二维列表中每行的和。其中,二维列表中各元素的值为100以内的随机正整数。
时间: 2024-03-15 12:45:29 浏览: 69
Python进程池Pool应用实例分析
好的,以下是 Python 代码:
```python
import random
from multiprocessing import Pool
def calc_row_sum(row):
return sum(row)
if __name__ == '__main__':
# 创建一个 4 行 5 列的二维列表
data = [[random.randint(1, 100) for _ in range(5)] for _ in range(4)]
print('原始数据:')
for row in data:
print(row)
with Pool(processes=4) as pool:
row_sums = pool.map(calc_row_sum, data)
print('每行的和:')
for row_sum in row_sums:
print(row_sum)
```
程序中,我们使用了 `random` 模块来生成随机整数填充二维列表。`calc_row_sum` 函数用来计算一行的和。在 `main` 函数中,我们首先打印出原始的二维列表,然后使用 `Pool` 创建一个含有 4 个进程的进程池,并使用 `map` 方法来并行地计算每行的和。最后,我们输出每行的和。
阅读全文