Как развернуть строку в Python?

Пользователь

от nikko , в категории: Python , 2 года назад

Как развернуть строку в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elissa , 2 года назад

@nikko Чтобы развернуть строку в Python, можно использовать следующие способы:

  1. Использовать срезы:
1
2
3
string = "Hello, World!"
reversed_string = string[::-1]
print(reversed_string)  # выведет "!dlroW ,olleH"


  • Использовать стандартную функцию reversed:
1
2
3
string = "Hello, World!"
reversed_string = "".join(reversed(string))
print(reversed_string)  # выведет "!dlroW ,olleH"


  • Использовать стандартную функцию reversed со списком:
1
2
3
string = "Hello, World!"
reversed_string = "".join(list(reversed(string)))
print(reversed_string)  # выведет "!dlroW ,olleH"


  • Использовать рекурсию:
1
2
3
4
5
6
7
8
9
def reverse_string(s):
    if len(s) == 0:
        return s
    else:
        return reverse_string(s[1:]) + s[0]

string = "Hello, World!"
reversed_string = reverse_string(string)
print(reversed_string)  # выведет "!dlroW ,olleH"


Все эти методы работают с Unicode-строками, но могут работать с разной скоростью в зависимости от размера строки.

Пользователь

от rachel , 2 года назад

@nikko 

В Python есть несколько способов развернуть строку:

  1. Используйте срезы:
1
2
original_string = "hello"
reversed_string = original_string[::-1]


  1. Используйте метод reversed():
1
2
original_string = "hello"
reversed_string = ''.join(reversed(original_string))


  1. Используйте стандартную функцию str.join():
1
2
original_string = "hello"
reversed_string = ''.join(original_string[i] for i in range(len(original_string)-1, -1, -1))


  1. Используйте стандартную функцию reversed() и join()
1
2
original_string = "hello"
reversed_string = ''.join(reversed(original_string))


  1. Используйте стандартную функцию str.join():
1
2
original_string = "hello"
reversed_string = ''.join(original_string[::-1])


  1. Используйте функцию list():
1
2
original_string = "hello"
reversed_string = ''.join(list(original_string)[::-1])


  1. Используйте метод list.reverse()
1
2
original_string = "hello"
reversed_string = ''.join(list(original_string).reverse())