python 通过函数的使用,将字典的深度搜索化简(减少循环次数)
其中涉及一些条件的判断:
循环实现:(dict,sheet均为字典,主要是row是sheet字典中最底层列表的某一行数据,这大致是一个筛选数据的过程
for key in dict.keys(): if key=="日期": dict[key].append(sheet[key]) elif type(dict[key])!=type(dict):#如果dict[key]不是字典,那么说明它是存有数据的列表 dict[key].append(sheet[key][row]) else: for key2 in dict[key].keys(): if type(dict[key][key2])!=type(dict[key]): dict[key][key2].append(sheet[key][key2][row]) else: for key3 in dict[key][key2].keys(): dict[key][key2][key3].append(sheet[key][key2][key3][row])
函数实现:
def updateDict(tmp, tmp_sheet): for key in tmp.keys(): if type(dict) != type(tmp): continue if type(tmp[key]) != type(tmp): if key == "日期": tmp[key].append(tmp_sheet[key]) else: tmp[key].append(tmp_sheet[key][row]) else: updateDict(tmp[key], tmp_sheet[key]) updateDict(dict,sheet)
随便用