我有一个字符串,例如
message = "The quick brown fox jumps over the lazy dog"
和一大堆单词。我想得到这些单词出现在字符串中的次数的count(int)。 如果列表是
words = ["the","over","azy","dog"]
它将返回4(而不是5)。它不应该计算单词"" 2次。每个单词只有一次!
答案 0 :(得分:1)
len(set(message.split()) & set(words))
答案 1 :(得分:0)
如果您要检查azy
中lazy
中的子字符串,则需要检查消息的每个子字符串in
中的每个字:
message = "The quick brown fox jumps over the lazy dog"
words = ["the","over","azy","dog"]
print(sum(s in word for word in set(message.lower().split()) for s in words))
4
或者只是检查单词中的每个单词是否包含在字符串中:
print(sum(word in message for word in words))
4
如果你想忽略大小写,你还需要在字符串上调低。