Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

5 экспертных способов перевернуть строку в Python

Строка в Python — это упорядоченная последовательность символов. Часто возникает задача развернуть строку (например, для проверки палиндромов). Встроенной функции reverse() у строк нет, но есть несколько эффективных методов.

Способ 1: Цикл for

Классический подход — накапливать символы в новую строку в обратном порядке.

def reverse_string(s):
    reversed_str = ""
    for char in s:
        reversed_str = char + reversed_str
    return reversed_str

string = "Guru99"
print(f"Исходная: {string}")
print(f"Перевёрнутая: {reverse_string(string)}")

Вывод:

Исходная: Guru99
Перевёрнутая: 99uruG

Разбор: На каждой итерации текущий символ добавляется в начало новой строки.

Способ 2: Цикл while

Используем индекс, идущий от конца к началу.

string = "Python"
reversed_str = ""
count = len(string)
while count > 0:
    reversed_str += string[count - 1]
    count -= 1
print(f"Перевёрнутая: {reversed_str}")

Вывод: nohtyP

Способ 3: Срезы (Slicing) — самый питоничный

Синтаксис [::-1] создаёт копию строки в обратном порядке.

def reverse(s):
    return s[::-1]

string = "Let's guru99"
print(f"Перевёрнутая: {reverse(string)}")

Вывод: 99urug s'teL

Это самый быстрый и идиоматичный способ в Python.

Способ 4: Функция reversed() + join()

reversed() возвращает итератор в обратном порядке, join() собирает в строку.

def reverse(s):
    return "".join(reversed(s))

print(reverse("guru99"))  # 99urug

Способ 5: Рекурсия

Функция вызывает сама себя, отрезая первый символ и добавляя его в конец.

def reverse(s):
    if len(s) == 0:
        return s
    return reverse(s[1:]) + s[0]

print(reverse("I love guru99"))  # 99urug evol I

Осторожно: При очень длинных строках возможен RecursionError (превышение глубины рекурсии).

Сравнение производительности

МетодСкоростьПамятьЧитаемость
Срез [::-1]Очень быстроO(n)Отличная
reversed() + join()БыстроO(n)Хорошая
Цикл for / whileМедленнееO(n)Хорошая
РекурсияМедленноO(n²) из-за конкатенацииСредняя

Заключение

Python

  1. Мастерство Django: руководство для начинающих по особенностям, архитектуре и истории
  2. Установка PIP в Windows: полное пошаговое руководство
  3. Строки в Python: создание, форматирование и манипуляции
  4. Модуль calendar в Python: экспертное руководство с примерами кода
  5. Понимание type() и isinstance() в Python: практические примеры
  6. Сетевое программирование в Python: сокеты и продвинутые протоколы
  7. Ускоренные пути обучения Python: от новичка к профи с Real Python
  8. Hello World: создание вашего первого Python-приложения
  9. Операторы в Python: Арифметические, сравнения, логические и битовые
  10. Словари в Python: Основы работы с ключами, значениями и доступом