有誰知道如何在Python中從字符串轉換為布爾值?我找到了此鏈接。但這似乎不是正確的方法。即使用內置功能等我之所以這樣問,是因為我int("string")從這里學到了。但是當嘗試bool("string")它總是返回True:>>> bool("False")True
4 回答

暮色呼如
TA貢獻1853條經驗 獲得超9個贊
實際上,您只需將字符串與希望接受的代表true的字符串進行比較,就可以做到這一點:
s == 'True'
或檢查一堆值:
s in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']
使用以下內容時請小心:
>>> bool("foo")
True
>>> bool("")
False
空字符串的計算結果為False,但其他所有結果的計算結果為True。因此,不應將其用于任何類型的解析目的。

胡說叔叔
TA貢獻1804條經驗 獲得超8個贊
def str2bool(v):
return v.lower() in ("yes", "true", "t", "1")
然后這樣稱呼它:
>>> str2bool("yes")
True
>>> str2bool("no")
False
>>> str2bool("stuff")
False
>>> str2bool("1")
True
>>> str2bool("0")
False
顯式處理真假:
您還可以使函數顯式地檢查True單詞列表和False單詞列表。然后,如果它不在兩個列表中,則可能引發異常。
添加回答
舉報
0/150
提交
取消