如何优雅跳过包含特定键的字典?现有链式.get()实现较繁琐
优化跳过含特定键字典的方法
你当前的链式调用写法确实不够简洁,这里有两种更清爽的实现方式,按需选择:
方式一:跳过键存在且值为真的字典
如果你的逻辑是只要字典里的指定键存在且对应值为真,就跳过该字典,可以用any()结合dict.get()简化:
# 先把要检查的键统一放到列表里,方便后续维护 target_keys = ['some_key', 'other_key', 'some_other_key'] if any(my_dict.get(key) for key in target_keys): continue
方式二:跳过包含指定键的字典(不管值是什么)
如果需求是只要字典包含指定键中的任意一个,就直接跳过,不用管对应值是否为真,直接检查键是否存在即可:
target_keys = ['some_key', 'other_key', 'some_other_key'] if any(key in my_dict for key in target_keys): continue
这两种写法都比链式调用更易读,后续要新增或修改检查的键,只需要调整target_keys列表就行,维护成本更低。
内容的提问来源于stack exchange,提问作者wiggitywacker
相关产品推荐
相关产品推荐

