在Python 中將字串解析為布林值:解決不一致問題
雖然Python 提供了一種使用bool() 將字元串轉換為布林值的簡單方法功能,往往會帶來意想不到的結果。本文示範了將字串準確轉換為布林值的替代方法。
bool() 出現的常見問題是所有非空字串的計算結果均為 True。為了解決這個問題,可以將字串與表示「true」的特定值進行比較:
>>> s == 'True'
這種方法確保只有字符串明確匹配“True”的結果為True。
對於更複雜的情況,建議檢查可接受值的列表:
>>> s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']
但是,在將bool()與非空字串一起使用時務必小心謹慎。如下所示,空字串的計算結果為 False,而所有其他字串的計算結果為 True:
>>> bool("foo")
True
>>> bool("")
False
此行為對於解析目的來說是有問題的,因為應計算為 False 的非空字串將傳回 True。因此,應優先考慮上述替代方法以實現準確的字串到布林值的轉換。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3