例如,如果我有一个清单
['My', 'Is', 'Name', 'Hello', 'William']
我该如何操作它才能创建新列表
[['My', 'Is'], ['Name'], ['Hello'], ['William']]
您可以使用itertools。groupby:
>>> from itertools import groupby
>>> l = ['My', 'Is', 'Name', 'Hello', 'William']
>>> [list(g) for k, g in groupby(l, key=len)]
[['My', 'Is'], ['Name'], ['Hello'], ['William']]
但是,如果列表尚未按长度排序,则需要首先对其进行排序,如@recnac在以下注释中提到的那样:
>>> l2 = ['My', 'Name', 'Hello', 'Is', 'William']
>>> [list(g) for k, g in groupby(sorted(l2, key=len), key=len)]
[['My', 'Is'], ['Name'], ['Hello'], ['William']]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句