Задать вопрос
@pcdesign

Как разбить текст по 3 слова слова?

Просто text.split() разобьет по 1 слову.

>>> 
>>> text = 'слово1 слово2 слово3 слово4 слово5 слово6 слово7 слово8 слово9'
>>> text.split()
['слово1', 'слово2', 'слово3', 'слово4', 'слово5', 'слово6', 'слово7', 'слово8', 'слово9']
>>>

Как получить:
['слово1 слово2 слово3', 'слово4 слово5 слово6' и т.д.]

?
  • Вопрос задан
  • 274 просмотра
Подписаться 1 Простой Комментировать
Решение пользователя aderes К ответам на вопрос (3)
de-iure
@de-iure
just a crazy lawyer
длиннее, но проще для понимания))), можно хоть на 3, хоть на 4 разбивать... если остаток меньше 3 не нужен, последний if нужно удалить.

text = 'слово1 слово2 слово3 слово4 слово5 слово6 слово7 слово8 слово9 слово10'

def func(text, x):
    new_list = []
    text_list = text.split()
    word = ''
    n = 0
    while len(text_list):
        word += text_list.pop(0) + ' '
        n += 1
        if n >= x:
            new_list.append(word.rstrip())
            word = ''
            n = 0
    if word != '':
        new_list.append(word.rstrip())
    return new_list

print(func(text, 3))
Ответ написан
Комментировать