将字符串拆分为两个单词的列表,重复最后一个单词

Lit*_*wos 5 python string split list

我需要将一个字符串拆分成每两个单词的列表,但重复每对单词的最后一个单词.这是我尝试过的,通过使用我发现的其他问题的例子:

line = """Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."""

def split_line(in_line):
    line_sp = line.split(" ")
    line_two = [" ".join(line_sp[i:i + 2]) for i in range(0, len(line_sp), 2)]
    return line_two

print(split_line(line))
Run Code Online (Sandbox Code Playgroud)

结果如下:

['Lorem ipsum', 'dolor sit', 'amet, consectetur', 'adipiscing elit,', 'sed do', 'eiusmod tempor', 'incididunt ut', 'labore et', 'dolore magna', 'aliqua.']
Run Code Online (Sandbox Code Playgroud)

但我真正需要的是:

['Lorem ipsum', 'ipsum dolor', 'dolor sit', 'sit amet', 'amet, consectetur', 'consectetur adipiscing', ...]
Run Code Online (Sandbox Code Playgroud)

我怎样才能使它工作?谢谢!

blh*_*ing 10

您可以使用zip以下两个单词:

words = line.split()
print(list(map(' '.join, zip(words[:-1], words[1:]))))
Run Code Online (Sandbox Code Playgroud)

这输出:

['Lorem ipsum', 'ipsum dolor', 'dolor sit', 'sit amet,', 'amet, consectetur', 'consectetur adipiscing', 'adipiscing elit,', 'elit, sed', 'sed do', 'do eiusmod', 'eiusmod tempor', 'tempor incididunt', 'incididunt ut', 'ut labore', 'labore et', 'et dolore', 'dolore magna', 'magna aliqua.']
Run Code Online (Sandbox Code Playgroud)