Python 为循环创建动态嵌套

Python 为循环创建动态嵌套,python,Python,我有一些数组mrows by 2`columns(像一系列坐标),我想自动化我的代码,这样我就不会对每个坐标使用嵌套循环。这是我的代码,它运行良好,给出了正确的答案坐标,但我想创建一个动态循环: import numpy as np A = np.array([[1,5,7,4,6,2,2,6,7,2],[2,8,2,9,3,9,8,5,6,2],[3,4,0,2,4,3,0,2,6,7],\ [1,5,7,3,4,5,2,7,9,7],[6,2,8,8,6,7,9,6,9,7],[0,2,

我有一些数组
m
rows by 2`columns(像一系列坐标),我想自动化我的代码,这样我就不会对每个坐标使用嵌套循环。这是我的代码,它运行良好,给出了正确的答案坐标,但我想创建一个动态循环:

import numpy as np

A = np.array([[1,5,7,4,6,2,2,6,7,2],[2,8,2,9,3,9,8,5,6,2],[3,4,0,2,4,3,0,2,6,7],\
 [1,5,7,3,4,5,2,7,9,7],[6,2,8,8,6,7,9,6,9,7],[0,2,0,3,3,5,2,3,5,5],[5,5,5,0,6,6,8,5,9,0]\
 ,[0,5,7,6,0,6,9,9,6,7],[5,5,8,5,0,8,5,3,5,5],[0,0,6,3,3,3,9,5,9,9]]) 
    
number = 8292 
number = np.asarray([int(i) for i in str(number)]) #split number into array 

#the coordinates of every single value contained in required number
coord1=np.asarray(np.where(A == number[0])).T
coord2=np.asarray(np.where(A == number[1])).T
coord3=np.asarray(np.where(A == number[2])).T
coord4=np.asarray(np.where(A == number[3])).T

coordinates = np.array([[0,0]])  #initialize the array that will return all the desired coordinates 
solutions = 0   #initialize the array that will give the number of solutions

for j in coord1:
    
   j = j.reshape(1, -1)

   for i in coord2 :
    
    i=i.reshape(1, -1)
    
    if (i[0,0]==j[0,0]+1 and  i[0,1]==j[0,1]) or (i[0,0]==j[0,0]-1 and  i[0,1]==j[0,1]) or (i[0,0]==j[0,0] and  i[0,1]==j[0,1]+1) or (i[0,0]==j[0,0] and  i[0,1]==j[0,1]-1) :
         
        for ii in coord3 :
            ii=ii.reshape(1, -1)
            
            if (np.array_equal(ii,j)==0 and ii[0,0]==i[0,0]+1 and  ii[0,1]==i[0,1]) or (np.array_equal(ii,j)==0 and ii[0,0]==i[0,0]-1 and  ii[0,1]==i[0,1]) or (np.array_equal(ii,j)==0 and ii[0,0]==i[0,0] and  ii[0,1]==i[0,1]+1) or (np.array_equal(ii,j)==0 and ii[0,0]==i[0,0] and  ii[0,1]==i[0,1]-1) :  
             
             for iii in coord4 :
               iii=iii.reshape(1, -1)
               if (np.array_equal(iii,i)==0 and  iii[0,0]==ii[0,0]+1 and  iii[0,1]==ii[0,1]) or (np.array_equal(iii,i)==0 and iii[0,0]==ii[0,0]-1 and  iii[0,1]==ii[0,1]) or (np.array_equal(iii,i)==0 and iii[0,0]==ii[0,0] and  iii[0,1]==ii[0,1]+1) or (np.array_equal(iii,i)==0 and iii[0,0]==ii[0,0] and  iii[0,1]==ii[0,1]-1) :  
                        point = np.concatenate((j,i,ii,iii)) 
                        coordinates = np.append(coordinates,point,axis=0)
                        solutions +=1
             
                        
coordinates = np.delete(coordinates, (0), axis=0)
导入itertools
A=[1,2,3]
B=[4,5,6]
C=[7,8,9]
对于itertools.product(a,b,c)中的(a,b,c):
印刷品(a、b、c);
产出:

1 4 7
1 4 8
1 4 9
1 5 7
1 5 8
1 5 9
1 6 7
1 6 8
1 6 9
2 4 7
2 4 8
2 4 9
2 5 7
2 5 8
2 5 9
2 6 7
2 6 8
2 6 9
3 4 7
3 4 8
3 4 9
3 5 7
3 5 8
3 5 9
3 6 7
3 6 8
3 6 9

有关详细信息,请参见。

请提供一个它至少应该包括一个重新创建您的问题的示例:示例输入、当前输出、预期输出。我的问题与此有点类似,因为我有一个函数,根据该函数的输入,我应该为循环执行n,明白吗?这是我的问题