首页 > 解决方案 > 将python迭代方法转换为并行

问题描述

我正在使用 python itertools,并且我有创建数组中元素乘积的方法。它看起来像这样:

import itertools as it
c=it.product('AB', repeat=10)
for elem in c:
     print (''.join(elem))

结果是:

AAAAAAAAAA
AAAAAAAAAB
AAAAAAAABA
AAAAAAAABB
AAAAAAABAA
AAAAAAABAB
.
.
.
BBBBBBBBBB

我正在寻找一种将这种迭代过程转换为矩阵计算的方法。NumPy 或 TensorFlow 或其他类似方法是否可用于转换它?如果是这样,怎么做?使用 GPU 可以更好或更快速地完成这项工作吗?

标签: pythonnumpytensorflowscipyitertools

解决方案


生成器和函数会运行得更快一些。

发电机:

import itertools as it
c=it.product('AB', repeat=10)
a = [''.join(elem) for elem in c]

功能:

import itertools as it
c=it.product('AB', repeat=10)
a = map(lambda x: ''.join(x),c)

推荐阅读