news 2026/5/12 4:04:22

让dict_data在“无key” 或 “value为空” 或 “value=None” 等情况都得默认值

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
让dict_data在“无key” 或 “value为空” 或 “value=None” 等情况都得默认值

dict_data.get(key, default) 只防“没键”, 如果dict_data={key:None} 是得不到 default的

(dict_data.get(key) or default) 既防“没键”,又防“值为 None/空”。

但对于 处理数值类(Int, Float, Bool) 要考虑 可能会对0 和 False 误杀,当然,如果deafult也是0 则无所谓。

对于处理 容器类(List, Dict, String) 很稳,无key、空值、None值 都能得到 default

例如:

order_list = (x.get("data") or {}).get("orders") or []

比起 order_list = x.get("data").get("orders",[]) if x.get("data") else [] 更健壮

x = {"data": {"orders": None}} 时,第一条式子得到 [] ,第二条式子得到 None

None 不能被遍历, [] 可以被遍历

item_list = data.get("key1",{}).get("orders",[]) # 若要进行 for item in item_list: 循环,更健壮的写法可以是: item_list = (data.get("key1") or {}).get("orders") or []
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 4:01:43

AI工作流编排框架skill-conductor:从原理到实战的智能体开发指南

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目,叫skill-conductor,作者是Samuelkebede24。光看名字,你可能会有点摸不着头脑,“技能指挥家”?这到底是干嘛的?我花了一些时间深入研究它的代码…

作者头像 李华
网站建设 2026/5/12 3:59:37

NUMA架构性能优化:Phoenix技术解析与实践

1. NUMA架构下的性能挑战与现状分析现代多核处理器系统普遍采用非统一内存访问(NUMA)架构来扩展计算能力。在这种架构中,每个处理器都有自己的本地内存,访问本地内存的延迟显著低于访问远程内存。我们的实测数据显示,在…

作者头像 李华