multiprocessing.Manager().Array创建多维数组
时间: 2024-02-23 07:02:24 浏览: 156
Python多进程multiprocessing.Pool类详解
5星 · 资源好评率100%
`multiprocessing.Manager()`返回一个进程间共享的`Manager`对象,可以使用该对象的方法来创建多维数组。其中,`Array()`方法用于创建一维数组,如果要创建多维数组,可以使用`Array()`方法嵌套。
以下是一个创建二维数组的示例代码:
```python
import multiprocessing
if __name__ == '__main__':
with multiprocessing.Manager() as manager:
arr = manager.Array('i', [0]*4*3) # 创建一维数组
matrix = [arr[i:i+3] for i in range(0, 4*3, 3)] # 将一维数组转换为二维数组
matrix[0][0] = 1 # 修改二维数组中的元素
print(matrix)
```
其中,`Array()`方法的第一个参数为数据类型,这里使用了整型`'i'`。第二个参数为数组的初始值,这里使用了长度为`4*3`的全`0`数组。`matrix`变量使用了列表推导式将一维数组转换为二维数组,并且可以通过修改二维数组中的元素来修改进程间共享的数组。
阅读全文