如何在Python中反转字符串
Unicode字符的集合是Python字符串。Python有多种控制字符串的能力,但是Python字符串库不支持内建的”switch()”功能。然而,有许多方法可以反转字符串。以下是定义的反转Python字符串方法。
- 使用for循环
- 使用while循环
- 使用切片操作符
- 使用reversed()函数
- 使用递归
使用for循环
在这里,我们将使用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')
解释-
以上代码中,我们传递了str参数并声明了reverse_string()函数。我们在函数体中声明了空字符串变量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')
解释:
在上面的代码中,我们声明了一个包含字符串值的str变量。我们引入了一个time circle,值为字符串的长度。
在每次迭代过程中,str[count – 1]的值会随着与reverse_String的连接而减少count值。当time circle完成其周期并返回相反顺序的请求字符串。
使用切片([])运算符
我们还可以使用 扩展切片运算符 来反转给定的字符串。让我们理解以下示例。
示例
# 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')
解释:
开始、停止和步长是切片操作符通常接受的三个参数。我们提供了无需起始和结束文件的好处,这显示了开始记录为0,结束记录为n-1。-1是步长;它意味着字符串从末尾开始导航,并且到1个文件位置。
使用join函数的反转
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')
解释:
在函数主体中,我们使用点操作符声明了一个空字符串。通过使用join()函数将reversed()字符串与空字符串分隔开的字符串连接起来,返回了反转后的字符串。
使用reverse()
递归也可以用于反转字符串。递归是一种能够调用自身的循环。请看下面的示例。
示例
# 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时,返回字符串本身,否则我们继续递归调用该函数。
将字符串的第一个字符通过切片运算符连接到切片字符串的末尾。