Как перевернуть строку в python
Перейти к содержимому

Как перевернуть строку в python

Как перевернуть строку в python

Стандартной функции для этой операции в Python нет. Но вариантов перевернуть строку несколько.

Переворачиваем строку в цикле:

>>> word = 'hello' >>> reversed_string = '' >>> for char in word: . reversed_string = char + reversed_string >>> reversed_string 'olleh' >>> 

Используем метод join() , чтобы собрать в строку перевёрнутый список:

>>> word = 'hello' >>> ''.join(reversed(word)) 'olleh' >>> 

Самый лаконичный способ перевернуть строку – использовать срез с отрицательным шагом:

>>> word = 'hello' >>> word[::-1] 'olleh' >>> 

Перевернуть строку Python

В этом посте мы обсудим, как перевернуть строку в Python.

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

1. Использование расширенных срезов

Решение Pythonic для реверсирования строки использует расширенный синтаксис среза. [start:stop:step] , который поддерживает необязательный третий step аргумент. Идея состоит в том, чтобы указать step из -1 и заменить None за start а также stop .

Три элегантных способа перевернуть строку в Python

Строки в Python — упорядоченная последовательность символов. В Python нет встроенных методов, позволяющих перевернуть строку, «отзеркалить» ее. Но вообще это сделать можно, причем несколькими способами.

Строка Python в перевернутом виде выглядит как nohtyP.

Существует три способа перевернуть строку.

1. Срезы

Повернуть строку можно с помощью срезов. Чтобы это сделать, мы просто создадим срез, который начинается с длины строки и заканчивается индексом 0.

Делается это так:

stringname[stringlength::-1] # метод 1

Длиной строки можно и пренебречь:

stringname[::-1] # метод 2

В этом случае подразумевается, что первый аргумент — длина строки. Заканчивается он на индексе 0, а шаг — -1 (то есть, шаг назад).

str="pythonist" # исходная строка stringlength=len(str) # вычисление длины строки slicedString=str[stringlength::-1] # срез print (slicedString) # вывод в консоль перевернутой строки
tsinohtyp

2. Цикл

Мы можем перевернуть строку и в цикле.

Для начала создадим массив (список) reversedString[] .

После этого мы можем запустить цикл, где итерируемой переменной будет index — длина списка.

На каждой итерации цикла в reversedString добавляется символ из строки с индексом [index-1] . После этого index уменьшается на 1.

Цикл продолжается до тех пор, пока переменная index не станет равна 0.

str = "pythonist" # исходная строка reversedString=[] index = len(str) # вычисляем длину строки и сохраняем ее в переменной index while index > 0: reversedString += str[ index - 1 ] # сохраняем значение str[index-1] в reverseString index = index - 1 # уменьшаем значение index на 1 print(reversedString) # перевернутая строка
['t', 's', 'i', 'n', 'o', 'h', 't', 'y', 'p']

3. Метод join()

Это мощный метод, использующий протокол итератора Python. Этот способ работает следующим образом. Строка поворачивается путем обратной итерации при помощи метода reversed(). После этого происходит объединение символов в новую строку при помощи метода join().

Синтаксис выглядит так:

str="pythonist" reversedstring=''.join(reversed(str))
str = 'pythonist' # исходная строка reversed=''.join(reversed(str)) # метод .join() объединяет все символы, полученные в результате обратной итерации, в новую строку print(reversed) # вывод перевернутой строки

Строка в обратном порядке в Python

В Python нет стандартной функции для переворота строки, но мы можем использовать другие методы: путем нарезки, цикла for и т.д.

Пример 1: с использованием нарезки

Чтобы перевернуть строку в Python, мы будем использовать нарезку. В частности, мы будем использовать [:: – 1]. Здесь мы не указали начало и конец, поэтому нарезка будет происходить от начала до конца строки. -1 приведет к тому, что нарезка будет происходить в обратном порядке, то есть от конца до начала. И str [:: – 1] приведет к получению перевернутой строки.

#the string str = "Welcome to Python Examples." #reverse string using slicing reversed = str[::-1] #print reversed string print(reversed)

Обратная строка в Python

Пример 2: с использованием цикла For

В этом примере мы изменим строку, используя For Loop. С помощью цикла for мы перебираем символы в строке и добавляем каждый символ в начало новой строки (изначально пустой). К концу цикла у нас должна получиться перевернутая строка.

#the string str = "Welcome to Python Examples." #reverse string using for loop reversed = '' #store reversed string char by char for c in str: reversed = c + reversed # appending chars in reverse order #print reversed string print(reversed)
D:\>python example.py .selpmaxE nohtyP ot emocleW

Пример 3: с использованием цикла while

В этом примере мы используем оператор While Loop и на каждой итерации уменьшаем длину. Мы используем эту переменную длины в качестве индекса для извлечения значений из строки. На каждом шаге цикла мы извлекаем символ из убывающего конца строки.

#the string str = "Welcome to Python Examples." #reverse string using while loop reversed = '' #store reversed string char by char length = len(str) - 1 while length >= 0: reversed = reversed + str[length] length = length - 1 #print reversed string print(reversed)
D:\>python example.py .selpmaxE nohtyP ot emocleW

Пример 4: с использованием List.reverse()

  1. Преобразуйте строку в список символов.
  2. Переверните список.
  3. Присоедините к пунктам списка.
#the string str = "Welcome to Python Examples." #convert string to list of chars str_list = list(str) #reverse the list str_list.reverse() #join the list items reversed = ''.join(str_list) #print reversed string print(reversed)
D:\>python example.py .selpmaxE nohtyP ot emocleW

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *