python 字典取(不存在)值
2022/1/5 17:12:04
本文主要是介绍python 字典取(不存在)值,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
背景以及造成原因:
在数据库存储的时候,常常会遇到不确定参数的情况即可变参数,在创建的时候使用JSON格式字段,将不确定key的数据放在该字段里面,后面使用该字段的时候就容易出现key不存在的情况
情况如下图:
解决方式:
1、用存在于字典的key于所查的做对比,一致就返回值,其他的就另作处理
代码块:
dict_data = {'manager': '区域负责人', 'pic_conf': {'pic_name_1': ['SW01']}, 'pic_path': '', 'technique': ['技术', '技术2'], 'fresh_time': 10, 'switch_time': 5, 'machine_code': ['SW01'], 'technique_title': '技术', 'workcenter_code': 'GF_CNC_SW', 'production_target': [{'target_name': '2h_SW01', 'machine_code': 'SW01'}]} val = '' for key, value in dict_data.items(): if key == 'name': val = value print(val or None)
效果图:
2、使用 defaultdict 模块格式化
defaultdict接受一个工厂函数作为参数,这个factory_function可以是list、set、str等等,作用是当key不存在时,返回的是工厂函数的默认值,比如list对应[ ],str对应的是空字符串,set对应set( ),int对应0
效果图:
(1、用函数将原数据数据放进defaultdict里面
代码块:
dict_data = {'manager': '区域负责人', 'pic_conf': {'pic_name_1': ['SW01']}, 'pic_path': '', 'technique': ['技术', '技术2'], 'fresh_time': 10, 'switch_time': 5, 'machine_code': ['SW01'], 'technique_title': '技术', 'workcenter_code': 'GF_CNC_SW', 'production_target': [{'target_name': '2h_SW01', 'machine_code': 'SW01'}]} def build_dict(old_dict: dict): new_dict = defaultdict(dict) for key, value in old_dict.items(): new_dict[key] = value return new_dict data = build_dict(dict_data) print(data['name'] or None)
效果图:
(2、使用defaultdict自带的方式写入
代码块:
from collections import defaultdict dict_data = {'manager': '区域负责人', 'pic_conf': {'pic_name_1': ['SW01']}, 'pic_path': '', 'technique': ['技术', '技术2'], 'fresh_time': 10, 'switch_time': 5, 'machine_code': ['SW01'], 'technique_title': '技术', 'workcenter_code': 'GF_CNC_SW', 'production_target': [{'target_name': '2h_SW01', 'machine_code': 'SW01'}]} ddd = defaultdict(dict, **dict_data) print(ddd['name'] or None)
效果图:
这篇关于python 字典取(不存在)值的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器