J'ai une fonction en Python qui calcule l'entropie d'un certain nombre de paramètres que j'appelle ps
comme suit
def H(*ps):
sum = 0.0
for pi in ps:
sum = sum - pi*np.log2(pi)
return sum
Je souhaite pouvoir passer plusieurs paramètres sous forme de liste ou de tuple, c'est-à-dire H([x])
mais cela ne donne pas le bon résultat, il calcule plutôt la valeur de H(xi)
et renvoie un tuple pour chaque résultat. Je peux additionner chaque élément du tuple pour obtenir le résultat correct en raison de la nature de la fonction, mais je préférerais que la fonction donne le résultat souhaité pour des raisons de commodité. Si j'entre H(x1, x2, ...)
la fonction donne le résultat correct.
Si quelqu'un a des suggestions, n'hésitez pas à m'en faire part.
Merci d'avance.
EDIT :
Exemple d'entrée et de sortie :
x = [0.1, 0.2]
print H(0.1, 0.2), H(x)
0.796578428466 [ 0.33219281 0.46438562]