如何在 Python 中反转字符串(5 种方法)
字符串是字符的有序列表或序列。字符串是 Python 自带的数据结构之一。在 Python 中处理字符串时,您可能希望反转所有字符。一个很好的例子是构建一个回文游戏。
反转的字符串的第一个字符是最后一个字符,依此类推。但是,Python 没有内置的反转字符串函数,但有一些方法可供您使用。
在本教程中,您将学习在 Python 中反转字符串的各种方法。
方法 1:使用 For 循环在 Python 中反转字符串
反转字符串的第一种方法是使用 for 循环,如下面的代码片段所示
Python 代码
# function for reversing a string def reverse_string(string): # an empty string for storing reversed string reversed_string = "" # looping through the string for char in string: # reversing the string reversed_string = char + reversed_string # returning a reversed string return reversed_string # the string to reverse string = "Guru99" # printing a message print(f"String Reversal using a for loop") # printing the original string print(f"Original String: {string}") # making a functional call inside a print function using an f-string print(f"Reversed String: {reverse_string(string)}")
输出
String Reversal using a for loop Original String: Guru99 Reversed String: 99uruG
代码解释
- 在此代码片段中,我们可以使用 reverse_string() 函数来反转字符串,并将给定的 string 作为参数。
- 在其中,我们可以创建一个空字符串来存储反转后的字符串,然后我们遍历该字符串。
- 字符被反转并赋给 reversed_string 变量。
- 最后,函数中的最后一行返回反转后的字符串。
- 为了显示输出,我们在 f 字符串的帮助下,在 print() 函数内进行函数调用。
方法 2:使用 While 循环在 Python 中反转字符串
使用 Python 中的 while 循环 也是反转字符串的另一种方法。让我们了解下面的代码片段
Python 代码
# declaring a string to reverse string = "Python" # initializing an empty string to store the reversed string reversed_string = "" # printing a message print(f"String Reversal using a while loop") # printing the original string print(f"Original String: {string}") # find length of a string and store in count variable count = len(string) # a while loop for looping through the string characters while count > 0: # save the value of str[count-1] in reversed_string reversed_string += string[count - 1] # decrementing index count = count - 1 print(f"Reversed String: {reversed_string}")
输出
String Reversal using a while loop Original String: Python Reversed String: nohtyP
代码解释
- 在此 Python 代码中,我们声明了一个要反转的字符串,然后声明了一个空字符串来存储反转后的字符串。
- 然后我们查找分配给 count 变量的字符串长度。
- 在每次迭代中,string[count – 1] 会从后到前检索字符串字符。
- 并将它们连接到 reversed_string,然后递减 count 值。
- 最后,我们打印反转后的字符串。
方法 3:使用切片运算符在 Python 中反转字符串
反转字符串的另一种方法是使用切片运算符,要理解它,请看下面的代码
Python 代码
# function to reverse a string def reverse(string): # the slice syntax reversed_string = string[::-1] return reversed_string # declaring a string to reverse string = "Let's guru99" # printing a message print(f"String Reversal using Slicer Operator") # printing the original string print(f"Original String: {string}") # making a functional call inside a print function using an f-string print(f"Reversed String: {reverse(string)}")
输出
String Reversal using Slicer Operator Original String: Let's guru99 Reversed String: 99urug s'teL
代码解释
- 创建一个 reverse() 函数,它接受一个 string 作为参数,并在其内部
- 在此示例中,我们有一个用于反转 string 的 string[::-1] 切片运算符
- 然后将反转后的字符串赋给一个名为 reversed_string 的新变量
- 最后,返回新的反转字符串
方法 4:使用 reversed() 函数在 Python 中反转字符串
我们还可以使用 reversed() Python 函数来反转字符串,代码如下
Python 代码示例
# function to reverse a string def reverse(string): # reversed() function inside the join() function string = "".join(reversed(string)) # returning the reversed string return string # declaring a string to reverse string = "guru99" # printing a message print(f"String Reversal using reversed() function") # printing the original string print(f"Original String: {string}") # making a functional call inside a print function using an f-string print(f"Reversed String: {reverse(string)}")
输出
String Reversal using reversed() function Original String: guru99 Reversed String: 99urug
代码解释
- 在此代码中,我们有一个 reversed() 函数,其参数为 string。
- 在其中,我们初始化了一个空字符串。
- 我们使用 join() 函数将其与 reversed(string) 的输出连接起来。
- 在 reversed() 函数的外部,我们声明了一个要反转的字符串,然后我们打印原始字符串和反转后的字符串。
方法 5:使用递归在 Python 中反转字符串
递归是指一个定义的函数调用它自身。当一个递归函数调用自身时,它就被称为递归。为了更好地理解,请看下面的代码示例
Python 代码
# a function to reverse a string def reverse(string): # Checking the length of string if len(string) == 0: return string # reversing string if len(string) != 0 else: # recursively calling the reverse() function return reverse(string[1:]) + string[0] # declaring a string to reverse string = "I love guru99" # printing a message print(f"String Reversal using Recursion") # printing the original string print(f"Original String: {string}") # making a functional call inside a print function using an f-string print(f"Reversed String: {reverse(string)}")
输出
String Reversal using Recursion Original String: I love guru99 Reversed String: 99urug evol I
代码解释
- 在上面的代码中,我们声明了一个 reverse() 函数,它接受一个 string 作为参数,该函数的主体是一个 if else 语句。
- if 语句检查字符串长度是否等于 0 并返回字符串,而 else 语句递归调用 reverse() 函数,对字符串的最后一个索引进行切片,并将其添加到开头。
结论
- 这个 Python 教程 介绍了如何在 Python 中使用各种方法反转字符串。
- 我们可以使用 reverse_string() 函数来反转字符串,并将给定的字符串作为参数。
- 您还可以使用“for 和 while 循环”来反转字符串。
- 您可以使用 reversed 函数,它接受一个字符串作为参数。
- 选择这些方法时,您应考虑它们的性能作为因素之一。