У меня есть функция в Python, которая вычисляет энтропию ряда параметров, которые я называю ps
следующим образом
def H(*ps):
sum = 0.0
for pi in ps:
sum = sum - pi*np.log2(pi)
return sum
Я хочу иметь возможность передавать несколько параметров в виде списка или кортежа, т. Е. H([x])
, но это не дает правильного результата, скорее он вычисляет значение H(xi)
и возвращает кортеж с каждым результатом. Я могу суммировать каждый элемент кортежа, чтобы получить правильный результат из-за характера функции, но я бы предпочел, чтобы функция выдавала желаемый результат для удобства. Если я введу H(x1, x2, ...)
, функция выдаст правильный вывод.
Если у кого-нибудь есть предложения, пожалуйста, дайте мне знать.
Заранее спасибо.
EDIT:
Пример ввода и вывода:
x = [0.1, 0.2]
print H(0.1, 0.2), H(x)
0.796578428466 [ 0.33219281 0.46438562]