Python 字符串是 Unicode 字符的集合。Python 有很多字符串操作的函数,但是 Python 字符串库不支持内置的“reverse()”函数。但是有各种方法来反转弦。我们正在定义以下方法来反转 Python 字符串。
用于循环
边循环边使用
使用切片操作符
使用反转()功能
使用递归
用于循环
这里,我们将使用 for
循环反转给定的字符串。
def reverse_string(str):
str1 = "" # Declaring empty string to store the reversed string
for i in str:
str1 = i + str1
return str1 # It will return the reverse string to the caller function
str = "JavaTpoint" # Given String
print("The original string is: ",str)
print("The reverse string is",reverse_string(str)) # Function call
输出:
('The original string is: ', 'JavaTpoint')
('The reverse string is', 'tniopTavaJ')
解释-
在上面的代码中,我们已经声明了 reverse_string() 函数并传递了 str 参数。在函数体中,我们已经声明了空字符串变量 str1 ,它将保存反转的字符串。
接下来,for
循环迭代给定字符串的每个元素,在开头连接每个字符并存储在 str1 变量中。
完成迭代后,它将逆序字符串 str1 返回给调用者函数。它将结果打印到屏幕上。
使用 While
循环
我们也可以使用 While
循环来反转字符串。让我们理解下面的例子。
示例-
# Reverse string
# Using a while loop
str = "JavaTpoint" # string variable
print ("The original string is : ",str)
reverse_String = "" # Empty String
count = len(str) # Find length of a string and save in count variable
while count > 0:
reverse_String += str[ count - 1 ] # save the value of str[count-1] in reverseString
count = count - 1 # decrement index
print ("The reversed string using a while loop is : ",reverse_String)# reversed string
输出:
('The original string is : ', 'JavaTpoint')
('The reversed string using a while loop is : ', 'tniopTavaJ')
说明:
在上面的代码中,我们已经声明了一个保存字符串值的字符串变量。我们用字符串值初始化了一个 While
循环。
在每次迭代中,串【计数-1】的值连接到反向 _ 串并递减计数值。一会儿完成了它的迭代并返回了逆序字符串。
使用 slice ([])运算符
我们也可以使用扩展切片操作符反转给定的字符串。让我们理解下面的例子。
示例-
# Reverse a string
# using slice syntax
# reverse(str) Function to reverse a string
def reverse(str):
str = str[::-1]
return str
s = "JavaTpoint"
print ("The original string is : ",s)
print ("The reversed string using extended slice operator is : ",reverse(s))
输出:
('The original string is : ', 'JavaTpoint')
('The reversed string(using extended slice syntax) is : ', 'tniopTavaJ')
说明:
通常,切片操作符接受三个参数-开始、停止和步进。我们为开始和结束索引提供了 no 值,这表示默认情况下开始索引为 0,结束索引为 n-1。步长为-1;这意味着字符串从末尾继续遍历,并到达 1 索引位置。
结合使用反函数
Python 提供了 reversed() 功能来反转字符串。让我们理解下面的例子。
示例-
#reverse a string using reversed()
# Function to reverse a string
def reverse(str):
string = "".join(reversed(str)) # reversed() function inside the join() function
return string
s = "JavaTpoint"
print ("The original string is : ",s)
print ("The reversed string using reversed() is : ",reverse(s) )
输出:
('The original string is : ', 'JavaTpoint')
('The reversed string using reversed() is : ', 'tniopTavaJ')
说明:
在函数体中,我们声明了由。点运算符。 reversed() 字符串返回它与使用 join() 函数分隔的空字符串连接的反向字符串。
使用递归()
也可以使用递归来反转字符串。递归是函数调用自身的过程。考虑下面的例子。
示例-
# reverse a string
# using recursion
def reverse(str):
if len(str) == 0: # Checking the lenght of string
return str
else:
return reverse(str[1:]) + str[0]
str = "Devansh Sharma"
print ("The original string is : ", str)
print ("The reversed string(using recursion) is : ", reverse(str))
输出:
('The original string is : ', 'JavaTpoint')
('The reversed string(using reversed) is : ', 'tniopTavaJ')
说明:
在上面的代码中,我们定义了一个接受字符串作为参数的函数。
在函数体中,我们定义了递归的基本条件,如果一个字符串的长度为 0,则返回该字符串,如果不是,则递归调用该函数。
切片操作符对字符串进行切片,需要第一个字符并连接到切片字符串的末尾。