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>