Python中如何简化多int变量统一加值后的条件判断语句
精简判断语句的方法
你可以用以下两种和原逻辑完全等价的精简写法,两种均支持短路求值,和原or串联的写法性能一致,不会产生额外计算开销:
方法1:用in关键字直接判断(最简洁)
x + i == 10可以等价转换为x == 10 - i,因此直接判断目标值是否在变量集合中即可:
a, b, c, d = 3,5,6,7 if (10 - i) in (a, b, c, d): # do something
方法2:用any()函数适配更复杂的判断规则
如果后续判断逻辑有变动(比如不等于、大于小于等其他条件),可以用any()配合生成器表达式实现,扩展性更强:
a, b, c, d = 3,5,6,7 if any(x + i == 10 for x in (a, b, c, d)): # do something
优化建议
如果这类同用途的数值变量数量较多,建议一开始就存入列表/元组统一管理,不用单独定义零散变量,后续不管是条件判断还是批量修改都会更方便:
nums = [3,5,6,7] # 后续判断直接用nums即可 if (10 - i) in nums: # do something
内容的提问来源于stack exchange,提问作者Max Nguyen
相关产品推荐
相关产品推荐

