本文目录导读:

我来介绍几种Python字符串反转的方法:
最简洁方法:切片反转
# 使用切片步长-1 text = "Hello, World!" reversed_text = text[::-1] print(reversed_text) # 输出: !dlroW ,olleH
使用reversed()函数
text = "Python" reversed_text = ''.join(reversed(text)) print(reversed_text) # 输出: nohtyP
循环遍历方法
# 方法一:从后往前遍历
text = "编程语言"
result = ""
for char in text:
result = char + result
print(result) # 输出: 言语程编
# 方法二:使用索引
text = "Hello"
result = ""
for i in range(len(text)-1, -1, -1):
result += text[i]
print(result) # 输出: olleH
使用list反转
text = "Python编程" # 转为列表后反转 char_list = list(text) char_list.reverse() reversed_text = ''.join(char_list) print(reversed_text) # 输出: 程编nohtyP
使用栈(列表模拟)
text = "Hello, World!"
stack = list(text) # 将字符串转为列表
result = ""
while stack:
result += stack.pop()
print(result) # 输出: !dlroW ,olleH
递归方法
def reverse_string(s):
if len(s) <= 1:
return s
return reverse_string(s[1:]) + s[0]
text = "Python"
print(reverse_string(text)) # 输出: nohtyP
实用案例:判断回文字符串
def is_palindrome(s):
# 移除空格和标点,转为小写
cleaned = ''.join(c.lower() for c in s if c.isalnum())
return cleaned == cleaned[::-1]
# 测试
text1 = "A man, a plan, a canal: Panama"
text2 = "Hello"
print(is_palindrome(text1)) # 输出: True
print(is_palindrome(text2)) # 输出: False
性能比较
import time
text = "Hello, World!" * 1000
# 测试不同方法的性能
start = time.time()
result = text[::-1]
print(f"切片方法: {time.time() - start:.6f}秒")
start = time.time()
result = ''.join(reversed(text))
print(f"reversed方法: {time.time() - start:.6f}秒")
推荐使用
- 日常使用:
text[::-1](最简洁、性能最好) - 需要保留原字符串:
''.join(reversed(text)) - 学习理解:循环或递归方法
切片反转是最推荐的方式,它简洁且执行效率高。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播