我有很多值列表:
reduce(operator.mul, [Decimal(i) for i in list])
我应该得到下一个值:
4.248649022193430909459625077E+583
打印值 - value**1/len(list)
此值太大
但我有下一步行动:
try {
Bitmap bitmap = photo();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
bitmap.recycle();
byte[] array = stream.toByteArray();
encoded_String = Base64.encodeToString(array, 0);
} catch (Exception e) {
}
new BackgroundWorker().execute(encoded_String);
如果列表非常大,我无法获取值 - 在这种情况下是否可以获得几何平均值?
答案 0 :(得分:6)
而不是项目的乘法,求和 对数:
geometric_mean = (a1 * ... * an) ** (1/n) =
= exp((log(a1) + .. + log(an)) / n)