擅长:python、mysql、java
<p>您可以使用临时字典,然后按长度排序:</p>
<pre><code>li=['sight', 'first', 'love', 'was', 'at', 'It']
d={}
for word in li:
d.setdefault(len(word), []).append(word)
result=[d[n] for n in sorted(d, reverse=True)]
print result
# [['sight', 'first'], ['love'], ['was'], ['at', 'It']]
</code></pre>
<p>您可以使用defaultdict:</p>
^{pr2}$
<p>或者使用<code>__missing__</code>,如下所示:</p>
<pre><code>class Dicto(dict):
def __missing__(self, key):
self[key]=[]
return self[key]
d=Dicto()
for word in li:
d[len(word)].append(word)
result=[d[n] for n in sorted(d, reverse=True)]
print result
</code></pre>