如果标题中的所有单词:匹配

if allwords in title: match

使用 python3,我有一个单词列表,例如: ['foot', 'stool', 'carpet']

这些列表的长度从 1-6 左右不等。我有成千上万的字符串要检查,并且需要确保所有三个词都出现在标题中。在哪里: 'carpet stand upon the stool of foot balls.' 是正确的匹配,因为所有单词都出现在这里,即使它们是乱序的。

我很想知道这个问题很长一段时间,我唯一能想到的就是某种迭代,比如:

for word in list: if word in title: match!

但这给我的结果是 'carpet cleaner',这是不正确的。我觉得好像有某种捷径可以做到这一点,但我似乎无法在不使用 excessivelist(), continue, break 或其他我还不熟悉的 methods/terminology 的情况下解决这个问题。等等等等

您可以使用 all():

words = ['foot', 'stool', 'carpet']
title = "carpet stand upon the stool of foot balls."

matches = all(word in title for word in words)

或者,用 not any()not in 反转逻辑:

matches = not any(word not in title for word in words)