Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Eliminar combinaciones repetidas
#2
Hola, bienvenido. Siempre que pienses en "todas las combinaciones posibles" de algo, recuerda la función itertools.permutations, pues es justamente lo que hace. Por ejemplo, para obtener todas las combinaciones posibles de los números 1, 2 y 3:

  1. >>> import itertools
  2. >>> list(itertools.permutations("123"))
  3. [('1', '2', '3'), ('1', '3', '2'), ('2', '1', '3'), ('2', '3', '1'), ('3', '1','2'), ('3', '2', '1')]


Entonces ahora puedes aplicarlo a tu código:

  1. from itertools import permutations
  2.  
  3. combinations = []
  4.  
  5. for i in range (10):
  6.     for j in range (10):
  7.         for k in range (10):
  8.             if i != j and j != k and k!=i:
  9.                 item = "{}{}{}".format(i, j, k)
  10.                 append = True
  11.                 for combination in permutations(item):
  12.                     if "".join(combination) in combinations:
  13.                         append = False
  14.                         break
  15.                 if append:
  16.                     combinations.append(item)
  17.                     print(i, j, k)


Un saludo.
Responder


Mensajes en este tema
Eliminar combinaciones repetidas - por derian8040 - 07-03-2017, 03:53 PM
RE: Eliminar combinaciones repetidas - por Francisco - 07-03-2017, 08:53 PM

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)