Python - Combinación de 'n' datos

 
Vista:
sin imagen de perfil

Combinación de 'n' datos

Publicado por Andres (2 intervenciones) el 11/11/2014 01:58:10
Hola, quiero hacer un programa que muestre todas las posibles combinaciones entre los elementos de una lista.
Sé que para hacer esto con un número determinado de variables sería de la siguiente forma:


lista = [1,2,3]
for i in lista:
for j in lista:
for k in lista:
print(i,j,k)

El problema es que yo necesito hacerlo para un número indefinido de variables, se me ocurre que se debe utilizar recursividad, pero no se me ocurre como pasar el valor de i, j y k hacia la función recursiva. Creo que sería algo de este estilo:


lista = [1,2,3,4,5,6,7,8,9,0,2,3,2,3,3,3] #lista de n variables
combinaciones = []

def recursivo(combinacion_actual, combinaciones, profundidad):
if profundidad!=0:
for i in lista:
combinacion_actual.append(i)
recursivo(combinacion_actual, combinaciones, profundidad-1)
else:
combinaciones.append(combinacion_actual)

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder