我有一些文本操作要做,这是一个执行它的for循环:
for p in paras[:]:
pidx = paras.index(p)
for sent in p:
sidx = p.index(sent)
sent = ' '.join(w[0] for w in sent)
paras[pidx][sidx] = sent
paras[pidx] = 'start' + ' '.join(paras[pidx]) + 'end'
这是我的列表理解:
[' '.join(w[0] for w in sent) for p in paras for sent in p]
这会返回一个大的句子列表,我需要基于段落(p)的单独列表,或者有一些方法来表示每个段落的结束位置。是否有一些性感的方式来做到这一点?
答案 0 :(得分:2)
嵌套LC
[[' '.join(w[0] for w in sent) for sent in p] for p in paras]
应将每个段落作为单独的列表
答案 1 :(得分:1)
如果一个句子是一个单词列表,那么:
["see", "spot", "run"]
是一个句子。如果一个段落是一个句子列表,那么:
[ ["see", "spot", "run"], ["see", "dick", "run"], ["see" "dick", "run", "after", "spot"] ]
是一个段落。您只需要构建一个单词列表列表,而不是单词列表。