我有一个需要知道的模式(通过返回boolean
)是否包含在两个字符串中的任何一个中,我想知道如何以最短的方式做到这一点。
我知道我可以对大量字符串使用any()
,但我一直在寻找对字符串 pairs 完成此操作的最短方法,因为使用any()
需要列表至少要理解。
我期待这样的事情,但是它不起作用:
pattern in (string1 or string2)
我很困惑,因为此代码实际上适用于string1
,但是它仅检查string2
是string1
还是False
(我认为)
最终我可以使用None
,但是在代码中它漂亮或可读较少。
答案 0 :(得分:3)
我认为没有门襟。只要做到最直观:
has_pattern = pattern in string1 or pattern in string2
请注意,(string1 or string2)
出于您的意图几乎总是错误的,因为该表达式的结果为string1
(如果非空,则为string2
)。