我想知道一个字符串列表中是否至少有2个单词。某些单词在列表中重复。我想从列表中找到两个不同的单词。
我尝试了这个:
keywords = ["word1", "word1", "word1", "word2", "word3"]
r = "word4 word2 word1 word5"
for keyword in keywords:
if keyword in r:
for keyword2 in keywords:
if keyword2 in r:
if keyword2 != keyword:
status="ok"
print("here at least 2 words matching")
break
如果将来自csv的单词放在集合中。然后,您可以使用'set.intersection()`查找该字符串通用的所有单词。
keyword_set = set(keywords)
common = keyword_set.intersection(r.split())
if len(common) >= 2:
print('Found:', common)
Tomerikoo建议的方法是,一旦找到两个项目就立即中断,如果也找到两个相同的单词,可以更改为停止。但是,即使有更多匹配项,它也只打印前两个匹配项。这是一个简化的版本:
# To find only unique words, use `words_found = set()`
words_found = []
for word in set(keywords):
if word in r:
# If words_found is a set, use `words_found.add(word)`
words_found.append(word)
if len(words_found) >= 2:
print("Found:", words_found)
break
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句