def process_operators(simple_heuristics):
    """
    Decode the list of search operator and deliver two lists, one with the ready-to-execute strings of these operators
    and another with strings of their associated selectors.

    :param list simple_heuristics:
        A list of all the search operators to use. It may look like that saved using ``operators.build_operators``.

    :returns: (list, list)
        out[0] - executable_operators is a list of ready-to-execute string of search operators, and
        out[1] - selectors is the list of strings of the selectors associated to operators.
    """
    # Initialise the list of callable operators (simple heuristics)
    executable_operators = []
    selectors = []

    # For each simple heuristic, read their parameters and values
    for operator, parameters, selector in simple_heuristics:
        # Store selectors
        selectors.append(selector)

        if len(parameters) >= 0:
            sep = ','
            str_parameters = []

            for parameter, value in parameters.items():

                # Check if a value is string
                if type(value) == str:
                    str_parameters.append("{}='{}'".format(parameter, value))
                else:
                    str_parameters.append('{}={}'.format(parameter, value))

            # Create an executable string with given arguments
            full_string = '{}({})'.format(operator, sep.join(str_parameters))
        else:
            # Create an executable string with default arguments
            full_string = '{}()'.format(operator)

        # Store the read operator
        executable_operators.append(full_string)

    # Return two lists of executable operators and selectors
    return executable_operators, selectors