Python - 如果他们的名字大写,则加入两个列表对象

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)

nie*_*mmi 5

您可以使用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)