Boa noite,
 
	Gostaria de gerar listas onde cada item das listas entre si não sejam iguais.
 
	Por exemplo, 
 
	Dadas as listas L01 = ['A', 'B', 'C', 'C'] e L02 = ['D', 'B', 'C', 'C'], o script me gere listas do tipo L01_2 = ['A', 'C', 'C', 'B'] e L02_2 =  ['C', 'B', 'D', 'C'], que são permutações de L01 e L02, onde L01_2[0] seja diferente de L02_2[0], L01_2[1] seja diferente de L02_2[1], L01_2[2] seja diferente de L02_2[2] e L01_2[3] seja diferente de L02_2[3].
 
	Abaixo está o script:
 
	from random import shuffle
 
	dimp = 0 
	contagem = 0
 
	nonA = ['Q', 'A', 'B', 
	        'A', 'T', 'C', 
	        'D', 'A', 
	        'D', 
	        'T']
 
	priA = ['T', 'L', 'C', 
	        'B', 'C', 'C', 
	        'X', 'F', 
	        'H', 
	        'G', 
	        'J', 
	        'F', 'T']
 
	priB = ['D', 'L', 'G', 
	        'H', 'F', 'T', 
	        'B', 'F', 
	        'D', 
	        'T', 
	        'K', 'J', 
	        'D', 'G', 'J']
 
	segA = ['J', 'C', 'C', 
	        'F', 'Q', 'P', 
	        'H', 'P', 
	        'E', 
	        'F', 
	        'J', 
	        'P', 'Q']
 
	segB = ['F', 'R', 'M', 
	        'J', 'P', 'P', 
	        'E', 'L', 
	        'F', 
	        'H', 
	        'C', 
	        'C', 'C']
 
	terA = ['H', 'L', 'L', 
	        'P', 'R', 'C', 
	        'M', 'P', 
	        'X', 
	        'E', 
	        'F', 
	        'F', 'M']
 
	terB = ['G', 'Z', 'G', 
	        'E', 'P', 'H', 
	        'F', 'L', 
	        'K', 
	        'G', 
	        'L', 
	        'F', 'C']
 
	while True: 
	    dimp = 0 
	    shuffle(nonA) 
	    shuffle(priA) 
	    shuffle(priB) 
	    shuffle(segA) 
	    shuffle(segB) 
	    shuffle(terA) 
	    shuffle(terB)
 
	    aula0 = [nonA[0], priA[0], priB[0], segA[0], segB[0], terA[0], terB[0]] 
	    aula1 = [nonA[1], priA[1], priB[1], segA[1], segB[1], terA[1], terB[1]] 
	    aula2 = [nonA[2], priA[2], priB[2], segA[2], segB[2], terA[2], terB[2]] 
	    aula3 = [nonA[3], priA[3], priB[3], segA[3], segB[3], terA[3], terB[3]] 
	    aula4 = [nonA[4], priA[4], priB[4], segA[4], segB[4], terA[4], terB[4]] 
	    aula5 = [nonA[5], priA[5], priB[5], segA[5], segB[5], terA[5], terB[5]] 
	    aula6 = [nonA[6], priA[6], priB[6], segA[6], segB[6], terA[6], terB[6]] 
	    aula7 = [nonA[7], priA[7], priB[7], segA[7], segB[7], terA[7], terB[7]] 
	    aula8 = [nonA[8], priA[8], priB[8], segA[8], segB[8], terA[8], terB[8]] 
	    aula9 = [nonA[9], priA[9], priB[9], segA[9], segB[9], terA[9], terB[9]] 
	    aula10 = [priA[10], priB[10], segA[10], segB[10], terA[10], terB[10]] 
	    aula11 = [priA[11], priB[11], segA[11], segB[11], terA[11], terB[11]] 
	    aula12 = [priA[12], priB[12], segA[12], segB[12], terA[12], terB[12]]
 
	    cont = 0 
	    for c in aula0: 
	        for d in aula0: 
	            if d != c: 
	                cont += 1 
	    if cont == len(aula0) * (len(aula0) - 1): 
	        dimp += 1 
	        cont = 0 
	        for c in aula1: 
	            for d in aula1: 
	                if d != c: 
	                    cont += 1 
	        if cont == len(aula1) * (len(aula1) - 1): 
	            dimp += 1 
	            cont = 0 
	            for c in aula2: 
	                for d in aula2: 
	                    if d != c: 
	                        cont += 1 
	            if cont == len(aula2) * (len(aula2) - 1): 
	                dimp += 1 
	                cont = 0 
	                for c in aula3: 
	                    for d in aula3: 
	                        if d != c: 
	                            cont += 1 
	                if cont == len(aula3) * (len(aula3) - 1): 
	                    dimp += 1 
	                    cont = 0 
	                    for c in aula4: 
	                        for d in aula4: 
	                            if d != c: 
	                                cont += 1 
	                    if cont == len(aula4) * (len(aula4) - 1): 
	                        dimp += 1 
	                        cont = 0 
	                        for c in aula5: 
	                            for d in aula5: 
	                                if d != c: 
	                                    cont += 1 
	                        if cont == len(aula5) * (len(aula5) - 1): 
	                            dimp += 1 
	                            cont = 0 
	                            for c in aula6: 
	                                for d in aula6: 
	                                    if d != c: 
	                                        cont += 1 
	                            if cont == len(aula6) * (len(aula6) - 1): 
	                                dimp += 1 
	                                cont = 0 
	                                for c in aula7: 
	                                    for d in aula7: 
	                                        if d != c: 
	                                            cont += 1 
	                                if cont == len(aula7) * (len(aula7) - 1): 
	                                    dimp += 1 
	                                    cont = 0 
	                                    for c in aula8: 
	                                        for d in aula8: 
	                                            if d != c: 
	                                                cont += 1 
	                                    if cont == len(aula8) * (len(aula8) - 1): 
	                                        dimp += 1 
	                                        cont = 0 
	                                        for c in aula9: 
	                                            for d in aula9: 
	                                                if d != c: 
	                                                    cont += 1 
	                                        if cont == len(aula9) * (len(aula9) - 1): 
	                                            dimp += 1 
	                                            cont = 0 
	                                            for c in aula10: 
	                                                for d in aula10: 
	                                                    if d != c: 
	                                                        cont += 1 
	                                            if cont == len(aula10) * (len(aula10) - 1): 
	                                                dimp += 1 
	                                                cont = 0 
	                                                for c in aula11: 
	                                                    for d in aula11: 
	                                                        if d != c: 
	                                                            cont += 1 
	                                                if cont == len(aula11) * (len(aula11) - 1): 
	                                                    dimp += 1 
	                                                    cont = 0 
	                                                    for c in aula12: 
	                                                        for d in aula12: 
	                                                            if d != c: 
	                                                                cont += 1 
	                                                    if cont == len(aula12) * (len(aula12) - 1): 
	                                                        dimp += 1 
	    contagem += 1 
	    print(contagem) 
	    if dimp == 13: 
	        break 
	print(nonA) 
	print(priA) 
	print(priB) 
	print(segA) 
	print(segB) 
	print(terA) 
	print(terB)
 
	O que ocorre com esse código é que ele parece estar rodando o while, mas nunca chega a uma permutação da forma desejada.
 
	 
 
	Desde já, muito grato!