python 嵌套字典取值增强版
Python 字典 嵌套 取值 增强版
2023-09-27 14:27:40 时间
def getdictvalue(d,code): result=[] if isinstance(d, dict) : try: value = d[code] result.append(value) except Exception as e: pass for valuedd in d.values(): if isinstance(valuedd,dict): yied_result=getdictvalue(valuedd,code) if len(yied_result) != 0: result.append(getdictvalue(valuedd,code)) elif isinstance(valuedd,(list,tuple)): for item in d: valueitem=getdictvalue(valuedd,code) if valueitem !="None" and valueitem is not None and len(valueitem)!=0: if valueitem not in result: result.append(valueitem) elif isinstance(d, (list, tuple)): for item in d: value=getdictvalue(item,code) if value !="None" and value is not None and len(value)!=0: if value not in result: result.append(value) return result
由于返回时list,经过层层嵌套,list是复杂的,封装一个,增加一个list转换
class listchangetype(object): """对于查找后的list的数据的清洗""" def __init__(self): self.arg = [] def make(self,listone): for i in listone: if isinstance(i,(type,list)): for l in i: self.make(i) else: if i not in self.arg: self.arg.append(i) return self.arg
这样就按顺序,读取了复杂的dict, 比之前的一篇文章的代码,更加完美。
相关文章
- 五种Python中字典的高级用法
- 【Python零基础学习入门篇④】——第四节:Python的列表、元组、集合和字典
- Python中将字典转换为有序列表、无序列表的方法
- 【Python 基础教程】一文吃透Python中的集合与字典数据类型
- Python函数参数前的星号(*)(**)【*params用来接受任意多个参数并将其放在一个元组中】【 **params用于接收k=v形式的多个实参放入字典中(即把该函数的参数转换为字典)】
- Python 代码实践小结
- 第4天:Python 流程控制
- 国产办公软件崛起,金山WPS月活用户已超5.7亿;Meta指责苹果夺走部分广告收入;Python 3.11 发布|极客头条
- Python自动导入缺失的库
- 机器学习笔记之python实现AdaBoost算法
- Python面试题之装饰器漫谈
- Python第三方库jieba(中文分词)入门与进阶(官方文档)
- python序列(列表,元组,字典)的增删改查
- python判断key是否在字典用in不用has_key
- python 管理多版本之pyenv
- 【Python】常见的 数据类型:字符串 类型
- Python元组与字典详解
- Python学习之字典详解
- PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象的toolButtonStyle属性
- PyQt(Python+Qt)学习随笔:部件的大小策略sizePolicy的含义
- 第4.4节 Python解析与推导:列表解析、字典解析、集合解析
- python 嵌套字典比较值,取值
- Python 两个字典(dic)中相同key合并(value分别作合成后字典key和value)
- Python 字典(联合内存、联合数组)