Bonjour

Je débute en Python. J'ai écrit cette fonction :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
## [1,1,0,1] => 13 
def compute(Bits):
    return functools.reduce(lambda x, y: x*2+y, Bits,0)
Qui comme son nom ne l'indique pas vraiment, prend une liste composée de 0/1 pour calculer l'entier correspondant.
J'ai écrit la fonction inverse :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
## 13 => [1,1,0,1]
def explode(Val):
    q,r = divmod(Val, 2)
    if q == 0 :
        return [r]
    return explode(q)+[r]
qui prend un entier et l'écrit comme une liste de 0/1.
Je me demandais s'il n'existe pas une fonction toute faite qui ferait le boulot ?

Merci