Python:使用嵌套的理解将字符串列表按长度拆分为字符串列表

dus*_*tin 5 python nested list-comprehension

我有一个字符串列表,我正在尝试按字符串长度列出字符串列表.

['a', 'b', 'ab', 'abc'] 
Run Code Online (Sandbox Code Playgroud)

[['a', 'b'], ['ab'], ['abc']]
Run Code Online (Sandbox Code Playgroud)

我这样完成了这个:

lst = ['a', 'b', 'ab', 'abc']
lsts = []
for num in set(len(i) for i in lst):
    lsts.append([w for w in lst if len(w) == num])
Run Code Online (Sandbox Code Playgroud)

我对那段代码很满意,但我正试图把理解包裹起来.我想使用嵌套的理解来做同样的事情,但我无法弄清楚如何.

Ign*_*ams 4

>>> [[w for w in L if len(w) == num] for num in set(len(i) for i in L)]
[['a', 'b'], ['ab'], ['abc']]
Run Code Online (Sandbox Code Playgroud)

而且,itertools可能会更有效率一点。