Reverse a dict, so each value in it maps to a sorted list of its keys.

    Parameters
    ----------
    dict_obj : dict
        A key-value dict.

    Returns
    -------
    dict
        A dict where each value maps to a sorted list of all the unique keys
        that mapped to it.

    Example
    -------
    >>> dicti = {'a': 1, 'b': 3, 'c': 1}
    >>> reverse_dict(dicti)
    {1: ['a', 'c'], 3: ['b']}

def reverse_dict(dict_obj):
    """Reverse a dict, so each value in it maps to a sorted list of its keys.

    Parameters
    ----------
    dict_obj : dict
        A key-value dict.

    Returns
    -------
    dict
        A dict where each value maps to a sorted list of all the unique keys
        that mapped to it.

    Example
    -------
    >>> dicti = {'a': 1, 'b': 3, 'c': 1}
    >>> reverse_dict(dicti)
    {1: ['a', 'c'], 3: ['b']}
    """
    new_dict = {}
    for key in dict_obj:
        add_to_dict_val_set(dict_obj=new_dict, key=dict_obj[key], val=key)
    for key in new_dict:
        new_dict[key] = sorted(new_dict[key], reverse=False)
    return new_dict