list1=['hello','hope','hate','hack','bit','basket','code','come','chess']

我需要的是:
list2=[['hello','hope','hate','hack'],['bit','basket'],['code','come','chess']]

如果第一个字符是相同的并且是相同的组,则将其子列表。
我该怎么解决?

最佳答案

您可以使用itertools.groupby

>>> from itertools import groupby
>>> list1 = ['hello','hope','hate','hack','bit','basket','code','come','chess']
>>> [list(g) for k, g in groupby(list1, key=lambda x: x[0])]
[['hello', 'hope', 'hate', 'hack'], ['bit', 'basket'], ['code', 'come', 'chess']]

关于python - Python列表按第一个字符分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17876130/

10-14 04:14