Dados 3 dígitos a, b y c. La tarea es encontrar todas las combinaciones posibles de estos dígitos.
Ejemplos:
Input: [1, 2, 3] Output: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 Input: [0, 9, 5] Output: 0 9 5 0 5 9 9 0 5 9 5 0 5 0 9 5 9 0
Método 1: fuerza bruta o enfoque ingenuo
El enfoque ingenuo es ejecutar 3 bucles de 0 a 3 e imprimir todos los números de la lista si los índices no son iguales entre sí.
Ejemplo:
Python3
# Python program to print all # the possible combinations def comb(L): for i in range(3): for j in range(3): for k in range(3): # check if the indexes are not # same if (i!=j and j!=k and i!=k): print(L[i], L[j], L[k]) # Driver Code comb([1, 2, 3])
Producción:
1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1
Método 2: Usar itertools.permutations()
Este método toma una lista como entrada y devuelve una lista de objetos de tuplas que contienen todas las permutaciones en forma de lista.
Ejemplo:
Python3
# Python program to print all # the possible combinations from itertools import permutations # Get all combination of [1, 2, 3] # of length 3 comb = permutations([1, 2, 3], 3) for i in comb: print(i)
Producción:
(1, 2, 3) (1, 3, 2) (2, 1, 3) (2, 3, 1) (3, 1, 2) (3, 2, 1)
Publicación traducida automáticamente
Artículo escrito por deepanshumehra1410 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA