Получить три самых длинных слова из заголовка и оформить их как хештеги

Выделите буквенные слова, стабильно отсортируйте по убыванию длины и возьмите первые три. Затем приведите к нижнему регистру и добавьте #.

Короткий ответ

Что ответить на собеседовании

Выделите буквенные слова, стабильно отсортируйте по убыванию длины и возьмите первые три. Затем приведите к нижнему регистру и добавьте #.

Подробный разбор

Ответ с пояснениями

Условие

Дано: строка‑заголовок статьи. Нужно выбрать из неё три слова максимальной длины (цифры игнорировать) и превратить каждое в хештег, добавив символ "#" в начало. Реализуйте функцию, которая возвращает массив таких хештегов, упорядоченных по убыванию длины исходных слов. Все хештеги должны быть в нижнем регистре.

Примеры Ввод: "Visualizing Science" Вывод: ["#visualizing", "#science"]

Ввод: "How the Avocado Became the Fruit of the Global Trade" Вывод: ["#avocado", "#became", "#global"]

Ответ

Выделите буквенные слова, стабильно отсортируйте по убыванию длины и возьмите первые три. Затем приведите к нижнему регистру и добавьте #.

import re

def hashtags(title):
    words = re.findall(r'[^\W\d_]+', title, flags=re.UNICODE)
    longest = sorted(words, key=len, reverse=True)[:3]
    return ['#' + word.lower() for word in longest]

Стабильная сортировка сохраняет порядок исходного заголовка для слов одинаковой длины, как во втором примере с became и global. Если слов меньше трёх, вернутся все найденные.

Здесь цифры и пунктуация разделяют слова, повторы сохраняются. Например, abc123def превращается в два слова, а не в abcdef. Если нужны уникальные хештеги или другая обработка смешанных токенов, это следует оговорить отдельно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее