Перевёрнутые строки при длине более трёх символов

Используйте условное выражение внутри list comprehension: переворачивайте строку срезом [::-1], только если её длина больше трёх. Остальные элементы сохраняйте без изменения.

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

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

Используйте условное выражение внутри list comprehension: переворачивайте строку срезом [::-1], только если её длина больше трёх. Остальные элементы сохраняйте без изменения.

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

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

Условие

Необходимо написать функцию, принимающую список строк и возвращающую новый список. В результирующем списке каждая строка должна быть заменена на её обратную запись, если её длина превышает три символа.

def reverse_when_long(strings):
    ...

Ответ

Используйте условное выражение внутри list comprehension: переворачивайте строку срезом [::-1], только если её длина больше трёх. Остальные элементы сохраняйте без изменения.

Реализация:

def reverse_when_long(strings):
    return [text[::-1] if len(text) > 3 else text for text in strings]

Для ['cat', 'python', '', 'abcd'] получится ['cat', 'nohtyp', '', 'dcba']. Создаётся новый внешний список, исходный не меняется. В Python срез разворачивает Unicode code points; составные графемы, например букву с комбинируемым знаком, он может визуально разделить. Для обычных букв примеров этого ограничения нет.

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

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

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

Подробнее