Python中如何在try块内跳过错误行?简化字典多键读取代码
优化字典多键取值的几种方法
完全可以简化你的代码,这里有几个实用方案:
方法1:使用字典的get()方法(最推荐)
字典的get()方法专门用来处理「键可能不存在」的场景,键不存在时会返回指定默认值(默认是None),无需编写try-except块:
a = d.get("a") b = d.get("b") c = d.get("c") # 如果需要自定义默认值(比如不存在时赋值为0),可以这么写: # a = d.get("a", 0)
方法2:批量处理多键并存储结果
如果要获取的键数量较多,可以把键整理成列表批量处理,结果可存入新字典统一管理:
target_keys = ["a", "b", "c"] value_map = {key: d.get(key) for key in target_keys} # 后续可通过value_map["a"]、value_map["b"]获取对应值
方法3:单try-except块包裹多赋值(逻辑有差异,谨慎使用)
如果非要用try-except,也可以把所有赋值放到一个块里,但要注意:只要有一个键不存在,后续的赋值都会中断,这和你原来「每个键独立尝试赋值」的逻辑不一样,仅适合能接受这种逻辑的场景:
try: a = d["a"] b = d["b"] c = d["c"] except KeyError: pass
内容的提问来源于stack exchange,提问作者stats_b
相关产品推荐
相关产品推荐

