擅长:python、mysql、java
<p>使用<code>itertools.groupby</code>:</p>
<pre><code>>>> from itertools import groupby
>>> lis = ['sight', 'first', 'love', 'was', 'at', 'It']
>>> [list(g) for k, g in groupby(lis, key=len)]
[['sight', 'first'], ['love'], ['was'], ['at', 'It']]
</code></pre>
<p>请注意,要使<code>itertools.groupby</code>正常工作,所有项目必须按长度排序,否则使用<code>collections.defaultdict</code>(<code>O(N)</code>)或先对列表排序,然后使用<code>itertools.groupby</code>(<code>O(NlogN)</code>)。公司名称:</p>
^{pr2}$
<p>如果希望最终输出列表也被排序,那么最好按长度对列表项进行排序,并对其应用<code>itertools.groupby</code>。在</p>