如何从单词列表中提取n个连续单词组成的组合
实现方法
你可以用Python的切片+字符串join方法快速实现,最简洁的写法是用列表推导式:
myList = ["This", "is", "a", "great", "list"] n = 2 outputList = [' '.join(myList[i:i+n]) for i in range(len(myList) - n + 1)]
逻辑说明
range(len(myList) - n + 1)生成所有合法的起始索引:比如示例中列表长度为5,n=2时,起始索引范围是0~3,刚好对应4组连续元素myList[i:i+n]每次取出从索引i开始的n个连续元素' '.join()把取出的n个元素用空格拼接成单个字符串
如果是新手看不懂列表推导式,也可以用常规循环写,逻辑完全一致:
outputList = [] for i in range(len(myList) - n + 1): current_slice = myList[i:i+n] outputList.append(' '.join(current_slice))
以上代码运行后得到的outputList和你给出的预期结果完全一致,修改n的取值也能自动适配生成对应长度的连续拼接结果。
内容的提问来源于stack exchange,提问作者zimb3l
相关产品推荐
相关产品推荐

