查找模式是否在两个字符串中的任何一个中的最短方法

时间:2018-12-21 13:12:03

标签: python python-3.x algorithm

我有一个需要知道的模式(通过返回boolean)是否包含在两个字符串中的任何一个中,我想知道如何以最短的方式做到这一点。

我知道我可以对大量字符串使用any(),但我一直在寻找对字符串 pairs 完成此操作的最短方法,因为使用any()需要列表至少要理解。

我期待这样的事情,但是它不起作用:

pattern in (string1 or string2)

我很困惑,因为此代码实际上适用于string1,但是它仅检查string2string1还是False(我认为)

最终我可以使用None,但是在代码中它漂亮可读较少。

1 个答案:

答案 0 :(得分:3)

我认为没有门襟。只要做到最直观:

has_pattern = pattern in string1 or pattern in string2

请注意,(string1 or string2)出于您的意图几乎总是错误的,因为该表达式的结果为string1(如果非空,则为string2)。