Как выделить слова предложения жирным и вывести их списком?
На вход поступает строка из слов. Нужно все слова выделить жирным и вывести списком.
import re
class color:
BOLD = '\033[1m'
END = '\033[0m'
st = color.BOLD + 'Придет осень и спросит' + color.END
wordList = re.sub("[^\w]", " ", st).split()
print(wordList)
Почему выводит это и не выделяет, хотя если не создавать списка, то выводится жирным?
['1mПридет', 'осень', 'и', 'спросит', '0m']
Вместо ['Придет', 'осень', 'и', 'спросит'] Как исправить?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Сначала чистить предложение от непечатных символов, а потом уже оборачивать каждое слово в спецсимволы. Но в виде списка всё-равно жирным печататься не будет, только в виде строки:
import re
class color:
BOLD = '\033[1m'
END = '\033[0m'
st = 'Придет осень и спросит'
wordList = re.sub("[^\w]", " ", st).split()
make_bold = lambda x: color.BOLD + x + color.END
boldList = list(map(make_bold, wordList))
print(boldList)
print(*boldList)
Вывод:
['\x1b[1mПридет\x1b[0m',
'\x1b[1mосень\x1b[0m',
'\x1b[1mи\x1b[0m',
'\x1b[1mспросит\x1b[0m']
Придет осень и спросит