编辑:我发现了一个类似的topic,但我的问题不同之处在于结果数组非常大并且不适合内存(8 **(2 ** 7))迭代
我想找到最快的算法来获得矩阵中的所有组合。
我遵循解决方案:
def iter_matrix(self, matrix_of_all_comb):
for combination in itertools.product(*matrix_of_all_comb)):
if check_constr(combination):
yield np.array(combination)
for i in iter_matrix(arg):
print(i)
matrix_of_all_comb - 任何具有dim n * m的矩阵(我有n> 8且m> 9)。 不要注意" check_constr",此操作是即时的,不会影响代码。
我的主要问题是如何最大限度地提高迭代速度(这是不记录所有组合结果所需的生成器),但似乎不可能。你有想法吗?