如何解决字符串不等式

时间:2013-09-25 22:22:01

标签: python string inequality

在python中a是:

a = "XPZC"

为什么在python中关注False

(str(a)[:2] == ("YP" or "XP"))

2 个答案:

答案 0 :(得分:9)

这是因为("YP" or "XP")解析为"YP",因为它要求返回"YP""XP"是否解析为True

在这种情况下,'或'被短路(因为"YP"不是False,所以"XP"未被评估)。它返回"YP"的非假值,即"YP"

同样a[:2]等于XP。此外,您无需致电str(),因为a是一个字符串。

>>> a = "XPZC"
>>> a[:2]
'XP'
>>> "YP" or "XP"
'YP'

您可能想要使用in

>>> a[:2] in ("YP", "XP")
True

或者,只需使用or检查两个条件:

>>> s = a[:2]
>>> s == "YP" or s == "XP"
True

答案 1 :(得分:1)

(str(a)[:2] in ["YP", "XP"])

"YP" or "XP"返回'YP'