博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 通过函数的使用,将字典的深度搜索化简(减少循环次数)
阅读量:4626 次
发布时间:2019-06-09

本文共 1221 字,大约阅读时间需要 4 分钟。

其中涉及一些条件的判断:

循环实现:(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)

 

转载于:https://www.cnblogs.com/pqhuang/p/11326285.html

你可能感兴趣的文章
【大话UWB定位】之蓝牙定位的烦恼
查看>>
算法3-高级排序
查看>>
每天一个linux命令(17):whereis 命令
查看>>
Angular4+路由
查看>>
Codeforces-234C Weather
查看>>
面向对象编程思想及其相关内容
查看>>
Leetcode解题笔记-3sum
查看>>
Android 3.0 Hardware Acceleration
查看>>
【2011 Greater New York Regional 】Problem G: Rancher's Gift
查看>>
java常见题目总结
查看>>
(六) 牛顿切线法求根
查看>>
查看线程的运行状态
查看>>
MYSQL语句
查看>>
判断类之间的父子关系
查看>>
读书笔记——《黑客大曝光》(1/8)
查看>>
java基础小总结(2)
查看>>
HDU(1847)Good Luck in CET-4 Everybody!
查看>>
unity中的UI状态机,用于各界面之间的切换和跳转
查看>>
tar命令-压缩,解压缩文件
查看>>
bootstrap 冻结表格,冻结表头
查看>>