i want to remove empty dict from nested dict and list dict
input = {'a':'sd','b':{'c':'fd','f':{},'d':'sdsd','j':[{'a':'gg'},{'a':'oio'},{'a':{}}]},'h':''}
def recurfun(dict_data):
    for key,values in ss.items():
        if isinstance(values, dict) and values == {}:
            del ss[key]
        if isinstance(values, dict):
            recurfun(values)
    return ss
recurfun(ss)
error message is "dictionary changed size during iteration"
output_should_be = {"a":"12","b":{"f":"34"}}