Ответ
В Python существует несколько способов перевернуть строку. Наиболее идиоматичным и эффективным является использование среза.
1. Срез (slicing)
Это самый простой, читаемый и быстрый способ для большинства задач. Он создает новую перевернутую строку.
original_string = "hello world"
reversed_string = original_string[::-1]
print(reversed_string) # Вывод: "dlrow olleh"
Как это работает: Срез [::]
имеет синтаксис [start:stop:step]
. Указав step
как -1
, мы проходим по строке с конца к началу с шагом в один символ.
2. Функция reversed()
и метод join()
Функция reversed()
возвращает итератор, который обходит последовательность в обратном порядке. Чтобы собрать символы обратно в строку, используется метод join()
.
original_string = "hello world"
reversed_string = "".join(reversed(original_string))
print(reversed_string) # Вывод: "dlrow olleh"
Этот способ может быть немного более эффективным по памяти для очень больших строк, так как не создает промежуточную копию целиком, но он менее читаем, чем срез.
3. Использование цикла
Классический алгоритмический подход, который редко используется на практике в Python из-за наличия более эффективных встроенных средств.
original_string = "hello world"
reversed_string = ""
for char in original_string:
reversed_string = char + reversed_string
print(reversed_string) # Вывод: "dlrow olleh"
Рекомендация: Всегда используйте срез [::-1]
для переворачивания строк, если нет специфических требований к производительности на экстремально больших данных.