Preface:
今天同事使用 IronPython 中的 Lambda 寫程序(我們的程序使用IronPython的Lambda功能),發現一個問題,假設有函數: c = a / b,可是 b 有可能為 0,如果為 0,那麼我們希望 c= 0,由於是 Lambda 表達式,所以必須使用一行話描述,可惜查資料發現 IronPython 不支持三元運算符,後來查資料,發現 Snowdream 兄寫了解決方案: Python學習筆記(3)
Solution:
修改後的程序是: b!=0 and a/b or 0,注意這裡使用了不等於,我們發現 b=0 時,不會運算 a/b,也就起到我們的目的.
再次搜索網絡,發現其實有比較平滑的寫法:
- Result = A / B if B <> 0 else 0
沒有留言:
張貼留言