Python Reverse String: A Comprehensive Guide
В Python для разворота строки можно использовать срезы (slicing) с отрицательным шагом.
Пример:
python
s = "hello world"
print(s[::-1]) # выводит "dlrow olleh"
Здесь `[::-1]` означает, что из строки `s` мы берем все символы с шагом -1, т.е. индексы символов будут браться в обратном порядке.
Можно также написать функцию, которая будет разворачивать строку:
python
def reverse_string(s):
return s[::-1]
print(reverse_string("hello world")) # выводит "dlrow olleh"
В этой функции мы также использовали срезы с отрицательным шагом.
Еще один способ разворота строки - использование метода `reversed()`. Он принимает объект-последовательность (sequence) и возвращает итератор, который перебирает эту последовательность в обратном порядке:
python
s = "hello world"
reversed_string = ''.join(reversed(s))
print(reversed_string) # выводит "dlrow olleh"
Здесь мы используем метод `join()` для объединения символов в строку, которую вернул метод `reversed()`.
Также существует рекурсивный подход к развороту строки, но он менее эффективен для больших строк, т.к. требует большего количества вызовов функции:
python
def reverse_string(s):
if len(s) == 0:
return s
else:
return reverse_string(s[1:]) + s[0]
print(reverse_string("hello world")) # выводит "dlrow olleh"
В этой функции мы рекурсивно вызываем функцию, передавая ей строку без первого символа, и прибавляем к результату первый символ строки. Когда строка становится пустой, мы возвращаем ее же.