Obtenir la liste des combinaisons de p éléments d une liste de n éléments?
	
	
		Voilà mon problème . J'aimerai obtenir simplement toutes les combinaisons possibles (de p éléments) parmi une liste de n éléments . par exemple : soit la liste [ 1, "machin", [0, 1] ] pour laquelle je souhaite avoir la liste des combinaisons de deux éléments . En retour j'obtiendrais [[1, "machin"], [1, [0, 1]], ["machin", [0, 1]]] .
Je suis débutant en python . Je fais du python pour un MOD d'un jeu (CivilisationIV) . De ce fait je n'ai pas accès aux extentions (bibliothèques) de python .
J'ai reussi à obtenir ce que je voulais en recupérant la liste des indexs des combinaisons . J'ai préféré ne pas implémenter une fonction reccursive pour éviter une erreur du nombre de reccursion maximum . Voilà la fonction (qui ne marche pas pour p=0 ou 1 mais c'est sans importance ) :
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
   | def getCombi(p, n) :
        lResult = []
        lListPreCombi = []
        for iPass in range(n) :
                if iPass <= n - p : lListPreCombi += [[n - 1 - iPass]]
                for lPreCombi in lListPreCombi :
                        minVal = min(lPreCombi)
                        bResult = len(lPreCombi) == p-1
                        for i in range(n - 1 - iPass, minVal):
                                combiTemp = [i] + lPreCombi
                                if bResult :
                                        if not combiTemp in lResult : lResult.append(combiTemp)
                                else :
                                        if not combiTemp in lListPreCombi : lListPreCombi.append(combiTemp)
        return lResult | 
 J'aimerai savoir s'il n'y a pas une fonction simple pour obtenir ce resultat ?
Merci d'avance !
Stéphane