fonction inverse de functools.reduce
Bonjour
Je débute en Python. J'ai écrit cette fonction :
Code:
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:
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