首页 > 解决方案 > 是否有一种紧凑的方法可以在 python 中编写重复的 if 条件?

问题描述

一般来说,如果我知道的情况有两种重复的写作方式:

  1. 简单的
if x != <something> and x != <somethingElse> and x != <somethingElse +>:
  1. 小巧紧凑
if all(x != el for el in [<something>, <somethingElse>, <somethingElse +>]

有没有更紧凑的方式?

标签: pythonif-statement

解决方案


对于x不应该在一组事物中,最简单的解决方案就是:

if x not in (<something>, <somethingElse>, <somethingElse +>):

为更多项目扩展它几乎不会增加冗长,并且它相对有效,假设计算每个somethings 的成本很小(它必须预先计算它们,但是,除了逐一比较或复杂的解决方案之外的任何事情都是如此涉及以编程方式生成something的 s)。


推荐阅读