为了账号安全,请及时绑定邮箱和手机立即绑定

编写一个条件,简洁地将一个值与其他几个值进行比较

编写一个条件,简洁地将一个值与其他几个值进行比较

jeck猫 2023-08-22 10:41:16
我正在寻找一种更好的方法来编写下面的代码,这样我就不需要多次使用 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 次用于找到、e2e3的最小值e4;另一次e与最小值进行比较)。如果您试图最大程度地减少比较次数(例如,如果您的值是复杂对象并且比较它们是一项耗时的操作),您可能更喜欢稍微详细一点的

condition = all(e < v for v in (e1, e2, e3, e4))

all短路:一旦发现错误值,它就会停止迭代,因此该版本根据涉及的值执行 1 到 4 次比较。


查看完整回答
反对 回复 2023-08-22
  • 1 回答
  • 0 关注
  • 4354 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信