擅长:python、mysql、java
<p>您可以在一行中尝试<code>itertools.groupby</code>:</p>
<pre><code>from itertools import groupby
tokens = ['0', '#', 'a', 'b', '#', '#', 'c', '#', '#', 'g', 'h', 'g', '#']
print([list(y) for x, y in itertools.groupby(tokens, key=lambda x: x.isalpha()) if x])
</code></pre>
<p>输出:</p>
<pre><code>[['a', 'b'], ['c'], ['g', 'h', 'g']]
</code></pre>
<p>I按值为字母的连续组分组</p>
<p>如果要使用<code>for</code>循环,可以尝试:</p>
<pre><code>l = [[]]
for i in tokens:
if i.isalpha():
l[-1].append(i)
else:
if l[-1]:
l.append([])
print(l[:-1])
</code></pre>
<p>输出:</p>
<pre><code>[['a', 'b'], ['c'], ['g', 'h', 'g']]
</code></pre>