def build(self):
        """
        Builds and returns all combinations of parameters specified
        by the param grid.
        """
        keys = self._param_grid.keys()
        grid_values = self._param_grid.values()

        def to_key_value_pairs(keys, values):
            return [(key, key.typeConverter(value)) for key, value in zip(keys, values)]

        return [dict(to_key_value_pairs(keys, prod)) for prod in itertools.product(*grid_values)]
def build ( self ) : keys = self . _param_grid . keys ( ) grid_values = self . _param_grid . values ( ) def to_key_value_pairs ( keys , values ) : return [ ( key , key . typeConverter ( value ) ) for key , value in zip ( keys , values ) ] return [ dict ( to_key_value_pairs ( keys , prod ) ) for prod in itertools . product ( * grid_values ) ]
Builds and returns all combinations of parameters specified
        by the param grid.