我正在尋找一種更好的方法來編寫下面的代碼,這樣我就不需要多次使用 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
提交
取消