擅长:python、mysql、java
<p>这是你所要求的,但要注意,它也会计算像“毛茸茸的”,“布朗纳”等词</p>
<pre><code>>>> s = "Spot is a brown dog. Spot has brown hair. The hair of Spot is brown."
>>> sum(s.count(x) for x in ("Spot", "brown", "hair"))
8
</code></pre>
<p>你也可以把它写成<code>map</code></p>
<pre><code>>>> sum(map(s.count, ("Spot", "brown", "hair")))
8
</code></pre>
<p>更健壮的解决方案可能使用<a href="http://nltk.org/" rel="noreferrer">nltk package</a></p>
<pre><code>>>> import nltk # Natural Language Toolkit
>>> from collections import Counter
>>> sum(x in {"Spot", "brown", "hair"} for x in nltk.wordpunct_tokenize(s))
8
</code></pre>