获取文本中“x”字数的组

2024-04-23 06:16:25 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一根绳子

s = 'Hello world, I am Foo. I like dogs'

我想通过这个字符串进行解析,并以x组的形式提取单词。比如说x = 3,我的输出应该是:

out = ['Hello world, I', 'world, I am', 'I am Foo.', 'am Foo. I', 'Foo. I like', 'I like dogs']

有办法做到这一点吗?我试过这个代码,但是很糟糕

    sss = s.split()
    x = 3
    for i, word in enumerate(sss):
        for j in range(x):
            extract = sss[j+i:x+j]
            print(extract)

out: ['Hello', 'world,', 'I']
['world,', 'I', 'am']
['I', 'am', 'Foo.']
['world,', 'I']
['I', 'am']
['am', 'Foo.']
['I']
['am']
['Foo.']
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]

Tags: 字符串inhelloforworldfooextractout
1条回答
网友
1楼 · 发布于 2024-04-23 06:16:25
s = 'Hello world, I am Foo. I like dogs'

words = s.split()
x = 3
results = [
    ' '.join(words[i:i + x])
    for i in range(len(words) - x + 1)
]
print(results)

输出:

['Hello world, I', 'world, I am', 'I am Foo.', 'am Foo. I', 'Foo. I like', 'I like dogs']

相关问题 更多 >