在 Python 中反转字符串
Azaz Farooq
2023年10月10日
本文将介绍一些在 Python 中反转字符串的方法。
在 Python 中使用切片方法反转字符串
这个方法使用分片操作符:
来反转字符串。分片的起始索引是最后一个元素的索引,结束索引是第一个元素的索引(在这种情况下也可以省略)。步长为 -1
,表示切片以步长为 1 向后退。
完整的示例代码如下。
str = "LearnPython"
length_str = len(str)
sliced_str = str[length_str::-1]
print("The sliced string is:", sliced_str)
输出:
The sliced string is: nohtyPnraeL
在 Python 中使用循环反转字符串
在这个方法中,首先,我们创建一个空字符串来存储反转的字符串。给定字符串的长度作为索引保存在 i
变量中。while
循环一直持续到索引大于 0 为止。
完整的示例代码如下。
str = "LearnPython"
string_reversed = []
i = len(str)
while i > 0:
string_reversed += str[i - 1]
i = i - 1 # decrement index
print("The Reversed String is", string_reversed)
string_reversed += str[i-1]
语句将 str[i-1]
的值保存在反转的字符串中。i=i-1
递减索引,直到到达字符串的开头。
输出:
The Reversed String is ['n', 'o', 'h', 't', 'y', 'P', 'n', 'r', 'a', 'e', 'L']
在 Python 中使用 reversed()
函数反转字符串
reversed()
函数给出给定字符串的反向迭代器。它的元素通过使用 join()
方法由空字符串连接。
完整的示例代码如下。
str = "LearnPython"
reversed_string = "".join(reversed(str))
print("The Reversed String is", reversed_string)
join()
方法将反转迭代产生的所有字符合并成一个新的字符串。
输出:
The Reversed String is nohtyPnraeL
在 Python 中使用递归方法反转字符串
我们可以使用递归函数对字符串进行反转。基本条件是,如果字符串长度等于 0,则返回字符串,如果不等于 0,则递归调用反转函数,除了第一个字符外,对字符串部分进行切分,并将第一个字符连接到切分后的字符串末尾。
完整的示例代码如下。
def reverse_string(string):
if len(string) == 0:
return string
else:
return reverse_string(string[1:]) + string[0]
string = "LearnPython"
print("The original string is : ", end="")
print(string)
print("The reversed string is : ", end="")
print(reverse_string(string))
输出:
The original string is : LearnPython
The reversed string(using loops) is : nohtyPnraeL