logo

Jak obrátit řetězec v Pythonu?

Kolekce znaků Unicode je Python String. Python má různé možnosti pro řízení řetězců, ale knihovna řetězců Pythonu nepodporuje vestavěnou schopnost 'switch()'. Existuje však mnoho metod pro obrácení řetězce. Definuje se následující reverzní metoda Python String.

    Použití smyčky for Použití while smyčky Použití operátoru slice Pomocí funkce reversed(). Pomocí rekurze

Použití smyčky for

Zde obrátíme daný řetězec pomocí cyklu 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 

Výstup:

('The original string is: ', 'JavaTpoint') ('The reverse string is', 'tniopTavaJ') 

Vysvětlení-

Předali jsme argument str a deklarovali funkci reverse_string() v kódu výše. V těle funkce jsme deklarovali prázdnou řetězcovou proměnnou str1, která bude ukládat obrácený řetězec.

Smyčka for poté iterovala přes každou část daného řetězce, spojila každý znak na začátku a výsledky uložila do proměnné str1.

Po celkovém cyklu vrátil opačný řetězec požadavku str1 do schopnosti hosta. Výsledek se zobrazil na obrazovce.

Použití while smyčky

Řetězec můžeme také obrátit pomocí smyčky while. Pojďme pochopit následující příklad.

Příklad -

 # 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 

Výstup:

('The original string is : ', 'JavaTpoint') ('The reversed string using a while loop is : ', 'tniopTavaJ') 

Vysvětlení:

Ve výše uvedeném kódu jsme deklarovali proměnnou str s hodnotou řetězce. Zavedli jsme nějaký časový kruh s hodnotou provázku.

Hodnota str[count - 1] snížila hodnotu počtu, protože se během každé iterace zřetězovala s reverse_String. Někdy dokončil svůj cyklus a vrátil opačný řetězec požadavku.

Použití operátoru řezu ([]).

Daný řetězec můžeme také obrátit pomocí operátor rozšířeného řezu . Pojďme pochopit následující příklad.

Příklad -

 # 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)) 

Výstup:

junit testovací případy
('The original string is : ', 'JavaTpoint') ('The reversed string(using extended slice syntax) is : ', 'tniopTavaJ') 

Vysvětlení:

Start, stop a step jsou tři parametry, které operátor řezu obvykle přijímá. Nabídli jsme žádnou výhodu pro počáteční a koncový soubor, který ukazuje, že začátek záznamu je 0 a konec je samozřejmě n-1. -1 je velikost kroku; to znamená, že řetězec pokračuje s navigací od konce a přechází na pozici 1 souboru.

Použití reverzní funkce se spojením

Krajta poskytuje obrácený () funkce pro obrácení řetězce. Pojďme pochopit následující příklad.

Příklad -

 #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) ) 

Výstup:

('The original string is : ', 'JavaTpoint') ('The reversed string using reversed() is : ', 'tniopTavaJ') 

Vysvětlení:

V těle funkce jsme deklarovali prázdný řetězec oddělený operátorem.dot. Řetězec reversed(), který spojil s prázdným řetězcem odděleným funkcí join() vrátil obrácený řetězec.

Použití rekurze()

Rekurzi lze také použít k otočení struny. Rekurze je cyklus, ve kterém se schopnost sama volá. Podívejte se na následující příklad.

Příklad -

 # 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)) 

Výstup:

('The original string is : ', 'JavaTpoint') ('The reversed string(using reversed) is : ', 'tniopTavaJ') 

Vysvětlení:

Ve výše uvedeném kódu jsme definovali funkci, která bere řetězec jako argument.

V těle schopnosti jsme charakterizovali základní stav rekurze, v případě, že délka řetězce je 0, řetězec je vrácen, a i když možná ne, pak jsme schopnost nazvali rekurzivně.

První znak řetězce je operátorem slice zřetězen na konec řetězce řezu.