Python教程-如何在Python中反转字符串?
Python字符串是Unicode字符的集合。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 = "javatiku" # Given String
print("The original string is: ",str)
print("The reverse string is",reverse_string(str)) # Function call
输出:
('The original string is: ', 'javatiku')
('The reverse string is', 'tniopTavaJ')
解释:
在上面的代码中,我们传递了str参数并在函数体中声明了reverse_string()函数。我们在函数体内声明了一个空字符串变量str1,它将存储反转后的字符串。
然后,for循环遍历给定字符串的每个部分,将每个字符连接到开头,并将结果保存在str1变量中。
在完整循环后,它将反转后的请求字符串str1返回给调用函数。结果显示在屏幕上。
使用while循环
我们也可以使用while循环来反转字符串。让我们看看以下示例。
# Reverse string
# Using a while loop
str = "javatiku" # 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 : ', 'javatiku')
('The reversed string using a while loop is : ', 'tniopTavaJ')
解释:
在上面的代码中,我们声明了一个带有字符串值的str变量。我们引入了一些时间循环,其值为字符串。
在每次迭代中,str[count - 1]的值减小了count的值,并在每次迭代期间连接到reverse_String中。循环结束后,返回反转的请求字符串。
使用切片([])运算符
我们还可以使用扩展切片运算符来反转给定的字符串。让我们看看以下示例。
# Reverse a string
# using slice syntax
# reverse(str) Function to reverse a string
def reverse(str):
str = str[::-1]
return str
s = "javatiku"
print ("The original string is : ",s)
print ("The reversed string using extended slice operator is : ",reverse(s))
输出:
('The original string is : ', 'javatiku')
('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 = "javatiku"
print ("The original string is : ",s)
print ("The reversed string using reversed() is : ",reverse(s) )
输出:
('The original string is : ', 'javatiku')
('The reversed string using reversed() is : ', 'tniopTavaJ')
解释:
在上面的代码中,我们在函数体内使用点运算符声明了一个空字符串。通过join()函数将它与reversed()字符串连接,返回反转的字符串。
使用递归
递归也可以用来反转字符串。递归是一个函数调用自身的过程。看看以下示例。
# 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 : ', 'javatiku')
('The reversed string(using reversed) is : ', 'tniopTavaJ')
解释:
在上面的代码中,我们定义了一个函数,它以字符串作为参数。
在函数体中,我们定义了递归的基本状态,即如果字符串的长度为0,则返回字符串,否则我们递归地调用该函数。
在每次迭代中,切片字符串的第一个字符并连接到切片字符串的末尾。