擅长:python、mysql、java
<p>如果出于某种原因,您无法从您正在搜索的任何内容中使用更合适的方法,则这相当于您在以下问题中的工作代码:</p>
<pre><code>start = 0
count = 0
for match in iter(lambda: find(target, key, start), -1):
count += 1
start = match + 1
return count
</code></pre>
<p>但是,编写一个迭代器来查找这些匹配项,“转换”当前的查找函数,可以获得最大的好处:</p>
^{pr2}$
<p>然后从中计算:</p>
<pre><code>count = sum(1 for m in findall(target, key))
</code></pre>