from functools import reduce
from operator import mul


def _geom_mean(growth_list, weights):
    """Computes weighted geometric mean."""
    weighted = [g**w for g, w in zip(growth_list, weights)]
    gmean = reduce(mul, weighted)**(1 / sum(weights))
    return gmean