def permutazioni(lista): risult = [] n = len(lista) if n == 1 or n == 0: return [lista] else: for i in range(n): sceltoComePrimo = lista[i] gliAltri = lista[:i] + lista[i+1 :] permutazioniAltri = permutazioni(gliAltri) for perm in permutazioniAltri: risult.append([sceltoComePrimo] + perm) return risult for p in permutazioni(["i vostri occhi","Marchesa","mi fanno", "morir d'amore"]): print(p)