Какой способ перевернуть строку `s = "hello"` самый Pythonic и быстрый?
Pythonmediummiddle
Варианты ответа
s[::-1] — slice с шагом -1, идиоматично и быстро. Python создаёт новую строку через C-уровень оптимизаций. Это стандарт для reverse строк, списков, кортежей в современном коде
''.join(reversed(s)) — использует встроенную функцию reversed() которая возвращает iterator. Чуть медленнее s[::-1] из-за overhead на создание iterator, но более читаемо
list(s)[::-1] — конвертирует строку в список, переворачивает, потом обратно. Универсальный способ работающий и для list, гибче чем slice. Используется в большинстве production кода
reduce(lambda acc, c: c + acc, s, "") — функциональный подход через functools.reduce. Концептуально чистый, но медленный из-за создания промежуточных строк (строки immutable)
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.