i got M1 to M5 and V6 operator and would like to do a full combination and result will also act among each other,
map reduce attract my application how to use this in this example? actually below is like vlookup then example is op3(op2(op1(x->y, y->z)), x->z) search which combinations will result in a column result is 1 M1 = {} M2 = {} M3 = {} M4 = {} M5 = {} V6 = {} M1['00']=0 M1['01']=1 M1['02']=1 M1['10']=1 M1['11']=1 M1['12']=1 M1['20']=1 M1['21']=1 M1['22']=1 M2['00']=0 M2['01']=0 M2['02']=1 M2['10']=0 M2['11']=1 M2['12']=1 M2['20']=1 M2['21']=1 M2['22']=1 M3['00']=0 M3['01']=0 M3['02']=0 M3['10']=0 M3['11']=1 M3['12']=1 M3['20']=0 M3['21']=1 M3['22']=1 M4['00']=0 M4['01']=1 M4['02']=0 M4['10']=1 M4['11']=1 M4['12']=1 M4['20']=0 M4['21']=1 M4['22']=1 M5['00']=0 M5['01']=0 M5['02']=0 M5['10']=0 M5['11']=1 M5['12']=1 M5['20']=0 M5['21']=1 M5['22']=1 V6['00']=1 V6['01']=1 V6['02']=1 V6['10']=1 V6['11']=1 V6['12']=1 V6['20']=0 V6['21']=1 V6['22']=1 MM = {} MM[0] = M1 MM[1] = M2 MM[2] = M3 MM[3] = M4 MM[4] = M5 MM[5] = V6 m = 3 b = [str(i)+str(j)+str(k) for i in range(m) for j in range(m) for k in range(m)] b[21][0:1]+b[21][1:2] b[21][1:2]+b[21][2:3] b[21][0:1]+b[21][2:3] #def node(mmm, A): #H2 = [MM[mmm][b[i][0:1]+b[i][1:2]] for i in range(len(b))] #return H2 #node(5, b[i][0:1]+b[i][1:2]) H2 = [MM[5][b[i][0:1]+b[i][1:2]] for i in range(len(b))] H3 = [MM[5][b[i][0:1]+b[i][1:2]] for i in range(len(b))] [str(k)+str(v) for k, v in zip(H2, H3)] import itertools deep = 3 finalresult = [] def DFS(H2, H3, b, deep, mresult) mylist = [i for i in range(0,7-1)] for aa,bb in itertools.combinations(mylist, 2): print(aa,bb) if deep == 3: #op0, op1 op1xy = [MM[aa][b[i][0:1]+b[i][1:2]] for i in range(len(b))] op1yz = [MM[aa][b[i][1:2]+b[i][2:3]] for i in range(len(b))] op1xz = [MM[aa][b[i][0:1]+b[i][2:3]] for i in range(len(b))] op2xy = [MM[bb][b[i][0:1]+b[i][1:2]] for i in range(len(b))] op2yz = [MM[bb][b[i][1:2]+b[i][2:3]] for i in range(len(b))] op2xz = [MM[bb][b[i][0:1]+b[i][2:3]] for i in range(len(b))] mresult.append(op1xy) mresult.append(op1yz) mresult.append(op1xz) mresult.append(op2xy) mresult.append(op2yz) mresult.append(op2xz) else: H1 = H2 H9 = H3 ba = b b = [str(k)+str(v) for k, v in zip(H2, H3)] DFS(H1, H9, b) b = ba DFS(0, 0, 0, 3, finalresult) -- https://mail.python.org/mailman/listinfo/python-list