logo

Käänteinen merkkijono Pythonissa (6 eri tapaa)

Python-merkkijonokirjasto ei tue sisäänrakennettua käänteinen() kuten muut python-säilöt, kuten luettelo, tekevät, joten muiden menetelmien tunteminen merkkijonon kääntämiseksi voi osoittautua hyödylliseksi. Tässä artikkelissa käsitellään useita tapoja saavuttaa se Python .

Esimerkki:



  Input:    Geeksforgeeks   Output:   skeegrofskeeG>

Pythonissa merkkijono käänteinen silmukan avulla

Tässä esimerkissä kutsumme funktiota kääntämään merkkijonon, joka iteroituu jokaiseen elementtiin ja älykkäästi liittyy jokaiseen hahmoon alussa jotta saadaan käänteinen merkkijono.

Aika monimutkaisuus: O(n)
Aputila: O(1)

Toteutus:



Python 3






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

>

>

Lähtö

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

Pythonissa merkkijono käänteinen käyttämällä rekursiota

Merkkijono välitetään argumenttina a:lle rekursiivinen funktio kääntääksesi merkkijonon. Funktiossa perusehtona on, että jos merkkijonon pituus on 0, merkkijono palautetaan. Jos se ei ole yhtä suuri kuin 0, käänteisfunktiota kutsutaan rekursiivisesti leikkaamaan merkkijonon osa ensimmäistä merkkiä lukuun ottamatta ja ketjuttamaan ensimmäinen merkki viipaloidun merkkijonon loppuun. '

Toteutus:

Python 3




java boolean
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))>

>

>

Lähtö

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

Aika monimutkaisuus : O(n), rekursio taaksepäin
Aputila : O(n), rekursiokutsupinoa varten

Käänteinen merkkijono Pythonissa pinon avulla

Tyhjä Aika monimutkaisuus: O(n)
Aputila: O(n)

Toteutus:

Python 3




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

>

>

Lähtö

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

Käänteinen merkkijono Pythonissa käyttämällä laajennettua viipaletta

Laajennettu slice tarjoaa askelkentän asettamisen [aloita, lopeta, astu] , ja jos aloitukseksi ja lopetukseksi ei jätetä kenttää, oletusarvo on 0 ja merkkijonon pituus, ja -1 tarkoittaa lopusta alkamista ja alkua, jolloin merkkijono käännetään.

Aika monimutkaisuus : Päällä)
Aputila : O(1)

Toteutus:

Python 3




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

>

>

Lähtö

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

Käänteinen merkkijono Pythonissa käänteisellä()-menetelmällä

The päinvastainen () palauttaa annetun merkkijonon käänteisen iteraattorin ja sitten sen elementit yhdistetään tyhjällä merkkijonolla erotettuna join(:lla). Ja käänteisen järjestyksen merkkijono muodostuu.

Aika monimutkaisuus : Päällä)
Aputila : Päällä)

Toteutus:

yksinkertainen java ohjelma

Python 3




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

>

>

Lähtö

java lukea csv-tiedostoa
The original string is : Geeksforgeeks The reversed string(using reversed) is : skeegrofskeeG>

Käänteinen merkkijono Pythonissa käyttämällä listan ymmärtämistä ()

Listan ymmärtäminen luo luettelon merkkijonon elementeistä käänteisessä järjestyksessä ja sitten sen elementit yhdistetään käyttämällä liittyä seuraan() . Ja käänteisen järjestyksen merkkijono muodostuu.

Aika monimutkaisuus: O(n)
Aputila: O(1)

Toteutus:

Python 3




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

>

>

Lähtö

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

Käänteinen merkkijono Pythonissa funktiokutsulla

Funktio kääntää merkkijono muuttamalla merkkijono luetteloksi, käännetty se ja muuntaa se uudelleen merkkijonoksi.

Aika monimutkaisuus: O(n)
Aputila: O(1)

Toteutus:

Python 3




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

>

>

Lähtö

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