logo

Chaîne inversée en Python (6 manières différentes)

La bibliothèque de chaînes Python ne prend pas en charge le inverse() comme le font d'autres conteneurs Python comme list, donc connaître d'autres méthodes pour inverser une chaîne peut s'avérer utile. Cet article présente plusieurs façons d'y parvenir Python .

Exemple:

  Input:    Geeksforgeeks   Output:   skeegrofskeeG>

Inverser une chaîne en Python à l'aide d'une boucle

Dans cet exemple, nous appelons une fonction pour inverser une chaîne, qui itère sur chaque élément et intelligemment rejoint chaque personnage au début afin d'obtenir la chaîne inversée.



Complexité temporelle : O(n)
Espace auxiliaire : O(1)

Mise en œuvre:

Python3




def> reverse(s):> >str> => ''> >for> i>in> s:> >str> => i>+> str> >return> str> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using loops) is : '>, end>=>'')> print>(reverse(s))>

>

>

Sortir

The original string is : Geeksforgeeks The reversed string(using loops) is : skeegrofskeeG>

Inverser une chaîne en Python en utilisant la récursivité

La chaîne est passée en argument à un fonction récursive pour inverser la chaîne. Dans la fonction, la condition de base est que si la longueur de la chaîne est égale à 0, la chaîne est renvoyée. Si elle n'est pas égale à 0, la fonction inverse est appelée de manière récursive pour découper la partie de la chaîne à l'exception du premier caractère et concaténer le premier caractère à la fin de la chaîne découpée. '

Mise en œuvre:

Python3




emojis iphone sur android
def> reverse(s):> >if> len>(s)>=>=> 0>:> >return> s> >else>:> >return> reverse(s[>1>:])>+> s[>0>]> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using recursion) is : '>, end>=>'')> print>(reverse(s))>

>

>

Sortir

The original string is : Geeksforgeeks The reversed string(using recursion) is : skeegrofskeeG>

Complexité temporelle : O(n), pour que la récursion s'inverse
Espace auxiliaire : O(n), pour la pile d'appels récursifs

Inverser la chaîne en Python en utilisant la pile

Un vide Complexité temporelle : O(n)
Espace auxiliaire : O(n)

Mise en œuvre:

Python3




# Function to create an empty stack. It> # initializes size of stack as 0> def> createStack():> >stack>=> []> >return> stack> # Function to determine the size of the stack> def> size(stack):> >return> len>(stack)> # Stack is empty if the size is 0> def> isEmpty(stack):> >if> size(stack)>=>=> 0>:> >return> true> # Function to add an item to stack . It> # increases size by 1> def> push(stack, item):> >stack.append(item)> # Function to remove an item from stack.> # It decreases size by 1> def> pop(stack):> >if> isEmpty(stack):> >return> >return> stack.pop()> # A stack based function to reverse a string> def> reverse(string):> >n>=> len>(string)> ># Create a empty stack> >stack>=> createStack()> ># Push all characters of string to stack> >for> i>in> range>(>0>, n,>1>):> >push(stack, string[i])> ># Making the string empty since all> ># characters are saved in stack> >string>=> ''> ># Pop all characters of string and put> ># them back to string> >for> i>in> range>(>0>, n,>1>):> >string>+>=> pop(stack)> >return> string> # Driver code> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using stack) is : '>, end>=>'')> print>(reverse(s))>

>

>

Sortir

The original string is : Geeksforgeeks The reversed string(using stack) is : skeegrofskeeG>

Inverser la chaîne en Python à l'aide d'une tranche étendue

La tranche étendue propose de mettre un champ d'étape comme [démarrer, arrêter, faire un pas] , et ne donner aucun champ comme début et fin indique respectivement la valeur par défaut de 0 et la longueur de la chaîne, et -1 indique commencer par la fin et s'arrêter au début, inversant ainsi une chaîne.

Complexité temporelle : Sur)
Espace auxiliaire :O(1)

Mise en œuvre:

Python3




# Function to reverse a string> def> reverse(string):> >string>=> string[::>->1>]> >return> string> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using extended slice syntax) is : '>, end>=>'')> print>(reverse(s))>

>

>

Sortir

The original string is : Geeksforgeeks The reversed string(using extended slice syntax) is : skeegrofskeeG>

Inverser la chaîne en Python en utilisant la méthode reversed()

Le renversé() renvoie l'itérateur inversé de la chaîne donnée, puis ses éléments sont joints par une chaîne vide séparée à l'aide de join(). Et une chaîne d’ordre inversé est formée.

Complexité temporelle : Sur)
Espace auxiliaire : Sur)

Mise en œuvre:

code gris

Python3




# Python code to reverse a string> # using reversed()> # Function to reverse a string> def> reverse(string):> >string>=> ''.join(>reversed>(string))> >return> string> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, end>=>'')> print>(s)> print>(>'The reversed string(using reversed) is : '>, end>=>'')> print>(reverse(s))>

>

>

Sortir

types de tests de logiciels
The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>

Inverser la chaîne en Python en utilisant la compréhension de liste()

La compréhension de liste crée la liste des éléments d'une chaîne dans l'ordre inverse, puis ses éléments sont joints à l'aide de rejoindre() . Et une chaîne d’ordre inversé est formée.

Complexité temporelle : O(n)
Espace auxiliaire : O(1)

Mise en œuvre:

Python3




# Function to reverse a string> def> reverse(string):> >string>=> [string[i]>for> i>in> range>(>len>(string)>->1>,>->1>,>->1>)]> >return> ''.join(string)> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, s)> print>(>'The reversed string(using reversed) is : '>, reverse(s))>

>

>

Sortir

The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>

Inverser la chaîne en Python à l'aide de l'appel de fonction

Fonction pour inverser une chaîne en convertissant la chaîne en liste, puis l'inverser et la convertir à nouveau en chaîne.

Complexité temporelle : O(n)
Espace auxiliaire : O(1)

Mise en œuvre:

Python3




# Function to reverse a string> # by converting string to list> # then reversed it and again convert it to string> def> reverse(string):> >string>=> list>(string)> >string.reverse()> >return> ''.join(string)> s>=> 'Geeksforgeeks'> print>(>'The original string is : '>, s)> print>(>'The reversed string(using reversed) is : '>, reverse(s))> # This code is contributed by Susobhan AKhuli>

>

>

Sortir

The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>