我正在寻找一种更好的方法来编写下面的代码,这样我就不需要多次使用e。
condition = e1>e and e2>e and e3>e and e4>e
发布于 2020-09-18 21:49:34
一般而言(只要比较运算符在任何类型的值上都能正常运行),一种相当清晰和简洁的方法应该是
condition = e < min(e1, e2, e3, e4)
这涉及4次比较(3次查找e1
、e2
、e3
和e4
中的最小值;1次将e
与最小值进行比较)。如果您试图最小化比较的次数(例如,如果您的值是复杂的对象,并且比较它们是一项耗时的操作),您可能更喜欢稍微详细一点的
condition = all(e < v for v in (e1, e2, e3, e4))
all
短路:一旦发现false值,它就会立即停止迭代,因此此版本会根据涉及的值执行1到4个比较。
https://stackoverflow.com/questions/63962522
复制