📅  最后修改于: 2020-10-28 01:41:56             🧑  作者: Mango
Python String是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循环来反转字符串。让我们了解以下示例。
范例-
# 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变量。我们使用字符串的值初始化了while循环。
在每次迭代中,str [count-1]的值连接到reverse_String并递减计数值。一会儿完成了迭代并返回了相反顺序的字符串。
我们还可以使用扩展的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。这意味着字符串从末尾继续遍历并到达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')
说明:
在函数主体中,我们声明了由.dot运算符分隔的空字符串。 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,则返回该字符串,否则返回递归调用该函数。
slice运算符将字符串分割为第一个字符,并连接到slice字符串的末尾。