Python 多回路优化
我正在用python编写一个包含六个循环的程序。该程序给出了一个3x3矩阵的所有组合,其中每行加起来等于kt[i]。我想知道这个程序是否有任何优化来减少循环,因为使用太多嵌套在一起的循环不是很好Python 多回路优化,python,loops,for-loop,Python,Loops,For Loop,我正在用python编写一个包含六个循环的程序。该程序给出了一个3x3矩阵的所有组合,其中每行加起来等于kt[i]。我想知道这个程序是否有任何优化来减少循环,因为使用太多嵌套在一起的循环不是很好 for r0 in range(0,kt[0]+1): for s0 in range(0,kt[0]+1-r0): k[0]=[r0,s0,kt[0]-r0-s0] for r1 in range(0,kt[1]+1): for s1 i
for r0 in range(0,kt[0]+1):
for s0 in range(0,kt[0]+1-r0):
k[0]=[r0,s0,kt[0]-r0-s0]
for r1 in range(0,kt[1]+1):
for s1 in range(0,kt[1]+1-r1):
k[1]=[r1,s1,kt[1]-r1-s1]
for r2 in range(0,kt[2]+1):
for s2 in range(0,kt[2]+1-r2):
k[2]=[r2,s2,kt[2]-r2-s2]
do something here
使用如何
使用numpy库看看这个问题如果你能把问题简化一点,给出一个完整的例子,用
kt
和k
@U2EF1的值,例如kt=[1,1,1],得到一个答案可能会有帮助,k是一个3x3矩阵,将在程序中得到
import itertools
elems = range(4)
for row1 in itertools.permutations(elems, 3):
for row2 in itertools.permutations(elems, 3):
for row3 in itertools.permutations(elems, 3):
print '{}\n{}\n{}\n{}'.format(row1, row2, row3, '-'*80)
print '='*80