def create_string(dict_input):
    """Creates a string where 'x', 'y' and 'data' fields are not mapped to str.

    For example:
    **{'data':dc_0,'index':0, 'dimension':'bands'}
    **{'data':[10000, nir_2, p1_6, p2_7]}
    **{'x':nir_2,'y':red_3}

    """

    inputs = []
    to_remove = []
    for key, value in dict_input.items():
        if key in ('x', 'y', 'data', 'value', 'base', 'p','target'):
            to_remove.append(key)
            if isinstance(value, list):
                val_str = "["
                for val in value:
                    val_str += str(val) + ', '
                inputs.append(f"'{key}': {val_str[:-2]}]")
            else:
                inputs.append(f"'{key}': {value}")
        else:
            continue

    for key in to_remove:
        _ = dict_input.pop(key)

    replace_str = '{' + ','.join(inputs)
    if dict_input:
        replace_str += ', '

    return f"**{dict_input}".replace('{', replace_str, 1)