擅长:python、mysql、java
<p>我个人喜欢<a href="http://docs.python.org/library/itertools.html#itertools.groupby" rel="nofollow">^{<cd1>}</a></p>
<pre><code>>>> from itertools import groupby
>>> sep = '0'
>>> data = 'a0ddb0gf0'
>>> [sum(1 for i in g) for (k, g) in groupby(data, sep.__ne__) if k]
[1, 3, 2]
</code></pre>
<p>这将根据每个元素是否等于分隔符对数据进行分组,然后获取元素不相等的每个组的长度(通过对组中的每个项求和1)。你知道吗</p>
<p>itertools函数通常相当快,尽管我不确定这比<code>split()</code>好多少。我认为有一点非常有利于它,那就是它可以无缝地处理分隔符字符的多次连续出现。它还将处理<code>data</code>的任何iterable,而不仅仅是字符串。你知道吗</p>