# info = { # "name": "abc", # "age": "", # "info": { # "height": [1, 0, {‘a‘: 123, ‘b‘: 0, ‘c‘: [], ‘d‘: [1]}], # "weight": " ", # "gender": "man", # "addr": " ", # "tel": 123456789 # }, # "hobby": [ # 123, # 0, # False, # "abx", # True, # { # "basketball": True, # "football": False # }, # [ # 123, # 0, # False, # "abx", # True, # { # "basketball": True, # "football": False # } # ] # ] # } # # # def del_null_list(data): # res = [] # for item in data: # if isinstance(item, str) or isinstance(item, int) or isinstance(item, bool): # if item: # res.append(item) # elif isinstance(item, dict): # dict_res = del_null_dict(item) # if dict_res: # res.append(dict_res) # elif isinstance(item, list): # list_res = del_null_list(item) # if list_res: # res.append(list_res) # return res # # # def del_null_dict(data): # res = {} # for k in data: # if isinstance(data[k], str): # data[k] = data[k].strip() # if data[k]: # res[k] = data[k] # elif isinstance(data[k], int) or isinstance(data[k], bool): # if data[k]: # res[k] = data[k] # elif isinstance(data[k], dict): # ret = del_null_dict(data[k]) # if ret: # res[k] = ret # elif isinstance(data[k], list): # list_res = del_null_list(data[k]) # if list_res: # res[k] = list_res # return res # # # def del_null(data): # res = {} # for k in data: # if isinstance(data[k], str): # data[k] = data[k].strip() # if data[k]: # res[k] = data[k] # elif isinstance(data[k], int) or isinstance(data[k], bool): # if data[k]: # res[k] = data[k] # elif isinstance(data[k], dict): # dict_res = del_null_dict(data[k]) # if dict_res: # res[k] = dict_res # elif isinstance(data[k], list): # list_res = del_null_list(data[k]) # if list_res: # res[k] = list_res # return res # # # r = del_null(info) # print(r) info = { "name": "abc", "age": "", "info": { "height": [1, 0, {‘a‘: 123, ‘b‘: 0, ‘c‘: [], ‘d‘: [1]}], "weight": " ", "gender": "man", "addr": " ", "tel": 123456789 }, "hobby": [ 123, 0, False, "abx", True, { "basketball": True, "football": False }, [ 123, 0, False, "abx", True, { "basketball": True, "football": False } ] ] } def del_null_list(data): res = [] for item in data: if isinstance(item, str) or isinstance(item, int) or isinstance(item, bool): if item: res.append(item) elif isinstance(item, dict): dict_res = del_null_dict(item) if dict_res: res.append(dict_res) elif isinstance(item, list): list_res = del_null_list(item) if list_res: res.append(list_res) return res def del_null_dict(data): res = {} for k in data: if isinstance(data[k], str): data[k] = data[k].strip() if data[k]: res[k] = data[k] elif isinstance(data[k], int) or isinstance(data[k], bool): if data[k]: res[k] = data[k] elif isinstance(data[k], dict): ret = del_null_dict(data[k]) if ret: res[k] = ret elif isinstance(data[k], list): list_res = del_null_list(data[k]) if list_res: res[k] = list_res return res def del_null(data): res = {} for k in data: if isinstance(data[k], str): data[k] = data[k].strip() if data[k]: res[k] = data[k] elif isinstance(data[k], int) or isinstance(data[k], bool): if data[k]: res[k] = data[k] elif isinstance(data[k], dict): dict_res = del_null_dict(data[k]) if dict_res: res[k] = dict_res elif isinstance(data[k], list): list_res = del_null_list(data[k]) if list_res: res[k] = list_res return res r = del_null(info) print(r)
原文:https://www.cnblogs.com/chweb/p/11311390.html