如何简洁编写值与多值的比较条件?避免重复使用变量e
优化多变量与单值比较的代码写法
嘿,这个场景太常见了,咱们来把这段重复的代码改得更简洁优雅~
你当前的代码是:
condition = e1>e and e2>e and e3>e and e4>e
这里重复写e确实显得冗余,用Python内置的all()函数就能完美解决这个问题:
最优写法推荐
condition = all(x > e for x in [e1, e2, e3, e4])
为什么这么写更好?
- 彻底消除了
e的重复书写,完全符合DRY(Don't Repeat Yourself)原则 - 逻辑一目了然:一眼就能看懂是检查所有变量都大于e
- 后续如果要增加更多要比较的变量,直接在列表里加元素就行,不用修改核心比较逻辑
进阶场景:变量已在序列中
如果这些要比较的变量本来就存储在一个列表/元组里,比如:
target_values = [e1, e2, e3, e4]
那代码会更简洁:
condition = all(x > e for x in target_values)
小提醒
all()函数在传入空序列时会返回True,不过你的场景里是明确的4个变量,所以完全不用在意这个边界情况~
内容的提问来源于stack exchange,提问作者Ussu
相关产品推荐
相关产品推荐

