猿问

在Python中从字符串转换为布尔值?

有谁知道如何在Python中从字符串转换为布尔值?我找到了此链接。但这似乎不是正确的方法。即使用内置功能等


我之所以这样问,是因为我int("string")从这里学到了。但是当尝试bool("string")它总是返回True:


>>> bool("False")

True


倚天杖
浏览 3698回答 4
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单词列表。然后,如果它不在两个列表中,则可能引发异常。

梵蒂冈之花

实际上,您只需将字符串与希望接受的代表true的字符串进行比较,就可以做到这一点:s == 'True'或检查一堆值:s in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']使用以下内容时请小心:>>> bool("foo")True>>> bool("")False空字符串的计算结果为False,但其他所有结果的计算结果为True。因此,不应将其用于任何类型的解析目的。
随时随地看视频慕课网APP

相关分类

Python
我要回答