字符串[python]中出现多少次单词(来自列表)

时间:2015-03-11 18:40:46

标签: python

我有一个字符串,例如

message = "The quick brown fox jumps over the lazy dog"

和一大堆单词。我想得到这些单词出现在字符串中的次数的count(int)。 如果列表是

words = ["the","over","azy","dog"]

它将返回4(而不是5)。它不应该计算单词"" 2次。每个单词只有一次!

2 个答案:

答案 0 :(得分:1)

len(set(message.split()) & set(words))

答案 1 :(得分:0)

如果您要检查azylazy中的子字符串,则需要检查消息的每个子字符串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

如果你想忽略大小写,你还需要在字符串上调低。