有谁知道如何在Python中从字符串转换为布尔值?我找到了此链接。但这似乎不是正确的方法。即使用内置功能等我之所以这样问,是因为我int("string")从这里学到了。但是当尝试bool("string")它总是返回True:>>> bool("False")True
4 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
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单词列表。然后,如果它不在两个列表中,则可能引发异常。
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
实际上,您只需将字符串与希望接受的代表true的字符串进行比较,就可以做到这一点:
s == 'True'
或检查一堆值:
s in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']
使用以下内容时请小心:
>>> bool("foo")
True
>>> bool("")
False
空字符串的计算结果为False,但其他所有结果的计算结果为True。因此,不应将其用于任何类型的解析目的。
添加回答
举报
0/150
提交
取消