我正在寻找一种更好的方法来编写下面的代码,这样我就不需要多次使用 e 。condition = e1>e and e2>e and e3>e and e4>e
1 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
广泛地说(只要比较运算符在您的值的任何类型上都正常运行),一种相当清晰和简洁的方法是
condition = e < min(e1, e2, e3, e4)
e1
这涉及 4 次比较(3 次用于找到、e2
和e3
的最小值e4
;另一次e
与最小值进行比较)。如果您试图最大程度地减少比较次数(例如,如果您的值是复杂对象并且比较它们是一项耗时的操作),您可能更喜欢稍微详细一点的
condition = all(e < v for v in (e1, e2, e3, e4))
all
短路:一旦发现错误值,它就会停止迭代,因此该版本根据涉及的值执行 1 到 4 次比较。
添加回答
举报
0/150
提交
取消