python - 是否有一种紧凑的方法可以在 python 中编写重复的 if 条件?
问题描述
一般来说,如果我知道的情况有两种重复的写作方式:
- 简单的
if x != <something> and x != <somethingElse> and x != <somethingElse +>:
- 小巧紧凑
if all(x != el for el in [<something>, <somethingElse>, <somethingElse +>]
有没有更紧凑的方式?
解决方案
对于x
不应该在一组事物中,最简单的解决方案就是:
if x not in (<something>, <somethingElse>, <somethingElse +>):
为更多项目扩展它几乎不会增加冗长,并且它相对有效,假设计算每个something
s 的成本很小(它必须预先计算它们,但是,除了逐一比较或复杂的解决方案之外的任何事情都是如此涉及以编程方式生成something
的 s)。
推荐阅读
- javascript - 如何向光标旋转和移动精灵?
- c - 不会过滤掉素数并在 c 中给出错误的因子数
- java - RandomAccessFile 将 int 转换为中文
- c# - 如何在 ListView 中保存用户输入?
- r - 将 R 闪亮的 checkboxGroupInput 与其他输入选择相结合
- ios - 这是 Swift 编译器中的错误吗?
- environment-variables - VSTS 机密作为环境变量
- html - VueJS 返回顶部按钮
- python - 在连接四蟒蛇游戏中的玩家之间交替
- leaflet - Leaflet Get Bounds w/ only top padding