擅长:python、mysql、java
<p>使用没有导入的简单<code>for</code>循环:</p>
<pre><code>data = "AAABAABAAABIAABIAABAA"
result, count = [], 0
for s in data.split('B'):
result.append([(count, count+len(s)), s])
count += len(s)
print(result)
</code></pre>
<p>输出:</p>
<pre><code>[[(0, 3), 'AAA'], [(3, 5), 'AA'],
[(5, 8), 'AAA'], [(8, 11), 'IAA'],
[(11, 14), 'IAA'], [(14, 16), 'AA']]
</code></pre>
<p>或者如果您希望它被<code>\n</code>分隔:</p>
<pre><code>list_of_strings = map(lambda l: '{}{}'.format(*l), result)
print('\n'.join(list_of_strings))
</code></pre>
<p>输出:</p>
<pre><code>(0, 3)AAA
(3, 5)AA
(5, 8)AAA
(8, 11)IAA
(11, 14)IAA
(14, 16)AA
</code></pre>
<p>顺便说一句:不要使用<code>string</code>作为变量名,因为它可能与<code>string</code>模块冲突。你知道吗</p>