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

时间:2016-08-24 17:56:41

标签: python list python-3.x matching word

使用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'这样的结果不正确。我觉得有一种快捷方式可以做到这一点,但我似乎无法使用过多的list(), continue, break或其他尚未熟悉的方法/术语来解决这个问题。等等。

1 个答案:

答案 0 :(得分:4)

您可以使用all()

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

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

或者,将逻辑反转为any()not in

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