Python 字符串是 Unicode 字符的集合。Python 有很多字符串操作的函數(shù),但是 Python 字符串庫不支持內(nèi)置的“reverse()”函數(shù)。但是有各種方法來反轉(zhuǎn)弦。我們正在定義以下方法來反轉(zhuǎn) Python 字符串。
用于循環(huán)
邊循環(huán)邊使用
使用切片操作符
使用反轉(zhuǎn)()功能
使用遞歸
用于循環(huán)
這里,我們將使用 for
循環(huán)反轉(zhuǎn)給定的字符串。
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')
解釋-
在上面的代碼中,我們已經(jīng)聲明了 reverse_string() 函數(shù)并傳遞了 str 參數(shù)。在函數(shù)體中,我們已經(jīng)聲明了空字符串變量 str1 ,它將保存反轉(zhuǎn)的字符串。
接下來,for
循環(huán)迭代給定字符串的每個元素,在開頭連接每個字符并存儲在 str1 變量中。
完成迭代后,它將逆序字符串 str1 返回給調(diào)用者函數(shù)。它將結(jié)果打印到屏幕上。
使用 While
循環(huán)
我們也可以使用 While
循環(huán)來反轉(zhuǎn)字符串。讓我們理解下面的例子。
示例-
# 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')
說明:
在上面的代碼中,我們已經(jīng)聲明了一個保存字符串值的字符串變量。我們用字符串值初始化了一個 While
循環(huán)。
在每次迭代中,串【計數(shù)-1】的值連接到反向 _ 串并遞減計數(shù)值。一會兒完成了它的迭代并返回了逆序字符串。
使用 slice ([])運算符
我們也可以使用擴展切片操作符反轉(zhuǎn)給定的字符串。讓我們理解下面的例子。
示例-
# 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')
說明:
通常,切片操作符接受三個參數(shù)-開始、停止和步進。我們?yōu)殚_始和結(jié)束索引提供了 no 值,這表示默認(rèn)情況下開始索引為 0,結(jié)束索引為 n-1。步長為-1;這意味著字符串從末尾繼續(xù)遍歷,并到達(dá) 1 索引位置。
結(jié)合使用反函數(shù)
Python 提供了 reversed() 功能來反轉(zhuǎn)字符串。讓我們理解下面的例子。
示例-
#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')
說明:
在函數(shù)體中,我們聲明了由。點運算符。 reversed() 字符串返回它與使用 join() 函數(shù)分隔的空字符串連接的反向字符串。
使用遞歸()
也可以使用遞歸來反轉(zhuǎn)字符串。遞歸是函數(shù)調(diào)用自身的過程。考慮下面的例子。
示例-
# 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')
說明:
在上面的代碼中,我們定義了一個接受字符串作為參數(shù)的函數(shù)。
在函數(shù)體中,我們定義了遞歸的基本條件,如果一個字符串的長度為 0,則返回該字符串,如果不是,則遞歸調(diào)用該函數(shù)。
切片操作符對字符串進行切片,需要第一個字符并連接到切片字符串的末尾。