Ard*_*ant 4 python list capitalization
是否可以对连续的大写单词进行分组?
例如,我有一个这样的列表:
lst =[['John'],['is'],['smart'],[','],['John'],['Kenneddy'],['is'],['smarter'],[','],['John'],['Fitzgerald'],['Kennedy'],['is'],['best']]
Run Code Online (Sandbox Code Playgroud)
期望的输出:
[['John'],['is'],['smart'],[','],['John','Kenneddy'],['is'],['smarter'],[','],['John','Fitzgerald','Kennedy'],['is'],['best']]
Run Code Online (Sandbox Code Playgroud)
您可以使用groupby以开头字母对单词进行分组:
from itertools import groupby
d = [['John'],['is'],['smart'],[','],['John'],['Kenneddy'],['is'],[','],['John'],['Fitzgerald'],['Kennedy'],['is'],['best']]
sum(([[x[0] for x in g]] if k else list(g)
for k, g in groupby(d, key=lambda x: x[0][0].isupper())),
[])
Run Code Online (Sandbox Code Playgroud)