检查字符串列表中是否出现字符串的最短方法

时间:2019-05-16 09:46:41

标签: python string syntactic-sugar

我想知道最快或最短的检查列表中所有字符串是否出现在另一个特定字符串中的方法。
例如:

l = ['I','you']
s = ['I do like you']

在这种情况下,我想看看Iyou是否都出现在I do like you中。有单线吗?代替for循环并以传统方式手动进行检查?

3 个答案:

答案 0 :(得分:4)

使用all(),如果可迭代的所有元素都是真实的,则返回True,否则返回False

all(x in s[0] for x in l)

代码中:

l = ['I','you']
s = ['I do like you']

print(all(x in s[0] for x in l))
# True

答案 1 :(得分:2)

您可以使用all()运算符,如果Iterator的每个元素均为True或为空,则返回True

l = ['I', 'you']
s = 'I do like you'
print(all(x in s for x in l))

any()运算符可能会引起您的兴趣,如果至少一个元素为True,该运算符将返回True

答案 2 :(得分:1)

我想您想要的是单词,而不仅仅是字符串。为此用途:

all(_ in s[0].split() for _ in l)