python - 如何同时在两个列表上运行一个函数?
问题描述
我有一个简单的问题。本质上,我想同时或并行在列表列表上运行一个函数。
这基本上是我正在使用的
def func(x):
print(x)
for objectList in space:
for subObject in objectList:
func(subObject)
理想情况下,我希望能够同时func()
运行每一个objectList
。我知道(实际上我不知道,这就是为什么我要问如何做到这一点)这是线程或并行,但这是我第一次尝试这样做。
我的问题是,python 中是否有模块或内置函数或标准方式来完成此任务?
抱歉,如果我以某种方式违反了该网站或其他内容的规则,或者您认为这个问题很愚蠢或重复或其他什么。
解决方案
来自 python 文档:
Pool 对象 [...] 提供了一种方便的方法,可以跨多个输入值并行执行函数,跨进程分布输入数据(数据并行性)
您可以使用这种模式,它也来自文档:
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
with Pool(5) as p:
print(p.map(f, [1, 2, 3]))
推荐阅读
- python-3.x - 在 OpenCV 中查找颜色蒙版线
- python - 使用 JupyterLab 将许多图像、表格和打印语句导出到 Python 中的 RTF 或 DOCX 文件
- google-apps-script - 如何使用 onEdit 函数触发邮件
- asp.net-core - 支持多部分/表单数据时,如何在 net core 5 webapi 中使用默认格式化程序反序列化对象?
- ruby-on-rails - 如何在我的 Rails 项目中安装这个包?
- powerbi - HASONEFILTER SUMX 总计未正确计算
- java - 将缓冲读取器输入存储到多个变量
- python - 使用自定义方法计算 numpy.ndarray 标准差的问题
- string - 如何在 Amazon Quicksight 中聚合字符串
- pointers - pic33 指向位对象的指针