5 experttechnieken om strings in Python om te keren
Een string is een geordende lijst of reeks karakters. Strings zijn een van de ingebouwde datastructuren in Python. Bij het werken met strings wil je soms de volgorde van karakters omkeren, bijvoorbeeld bij het bouwen van een palindroom-spel.
Een omgekeerde string heeft het eerste teken als laatste, enzovoort. Python heeft geen ingebouwde functie voor string-omkering, maar er zijn wel verschillende methoden beschikbaar.
In deze tutorial leer je vijf methoden om een string in Python om te keren.
Methode 1: String omkeren met een for-lus
De eerste methode gebruikt een for-lus:
Python-code:
def reverse_string(string):
reversed_string = ""
for char in string:
reversed_string = char + reversed_string
return reversed_string
string = "Guru99"
print(f"String omkering met een for-lus")
print(f"Originele string: {string}")
print(f"Omgekeerde string: {reverse_string(string)}")
Uitvoer:
String omkering met een for-lus Originele string: Guru99 Omgekeerde string: 99uruG
Code-uitleg:
- De functie
reverse_string()neemt een string als argument. - Er wordt een lege string aangemaakt om het resultaat op te slaan.
- De lus itereert over elk teken en voegt dit toe aan het begin van
reversed_string. - De omgekeerde string wordt geretourneerd en afgedrukt met een f-string.
Methode 2: String omkeren met een while-lus
Een while-lus kan ook gebruikt worden:
Python-code:
string = "Python"
reversed_string = ""
print(f"String omkering met een while-lus")
print(f"Originele string: {string}")
count = len(string)
while count > 0:
reversed_string += string[count - 1]
count -= 1
print(f"Omgekeerde string: {reversed_string}")
Uitvoer:
String omkering met een while-lus Originele string: Python Omgekeerde string: nohtyP
Code-uitleg:
- De lengte van de string wordt opgeslagen in
count. - De lus loopt achteruit:
string[count - 1]haalt karakters van achter naar voren op. - Elk teken wordt geconcateneerd aan
reversed_stringencountwordt gedecrementeerd.
Methode 3: String omkeren met de slice-operator
De slice-operator [::-1] is de meest Pythonische manier:
Python-code:
def reverse(string):
return string[::-1]
string = "Let's guru99"
print(f"String omkering met slice-operator")
print(f"Originele string: {string}")
print(f"Omgekeerde string: {reverse(string)}")
Uitvoer:
String omkering met slice-operator Originele string: Let's guru99 Omgekeerde string: 99urug s'teL
Code-uitleg:
string[::-1]maakt een slice met stap -1, wat de string omkeert.- Het resultaat wordt direct geretourneerd.
Methode 4: String omkeren met de reversed()-functie
De ingebouwde reversed() functie gecombineerd met join():
Python-code:
def reverse(string):
return "".join(reversed(string))
string = "guru99"
print(f"String omkering met reversed() functie")
print(f"Originele string: {string}")
print(f"Omgekeerde string: {reverse(string)}")
Uitvoer:
String omkering met reversed() functie Originele string: guru99 Omgekeerde string: 99urug
Code-uitleg:
reversed(string)retourneert een iterator die de string achteruit afloopt."".join(...)voegt de karakters samen tot één string.
Methode 5: String omkeren met recursie
Recursie roept de functie zelf aan:
Python-code:
def reverse(string):
if len(string) == 0:
return string
else:
return reverse(string[1:]) + string[0]
string = "I love guru99"
print(f"String omkering met recursie")
print(f"Originele string: {string}")
print(f"Omgekeerde string: {reverse(string)}")
Uitvoer:
String omkering met recursie Originele string: I love guru99 Omgekeerde string: 99urug evol I
Code-uitleg:
- Basisaanroep: als de string leeg is, return deze.
- Recursieve stap: roep
reverseaan met de string zonder het eerste teken (string[1:]) en voeg het eerste teken (string[0]) toe aan het einde.
Conclusie
- Deze tutorial toonde vijf methoden om strings in Python om te keren.
- Je kunt een
for-lus,while-lus, slice-operator[::-1],reversed()of recursie gebruiken. - Bij de keuze van een methode moet je rekening houden met prestaties: de slice-operator is doorgaans het snelst en meest leesbaar.
Python
- Python's time.sleep() onder de knie krijgen: best practices, multithreading en real-world voorbeelden
- Bestanden en directories hernoemen in Python met os.rename() – Stap-voor-stap gids
- Python-tuples beheersen: Packen, uitpakken, vergelijken, slicen en dictionary-sleutels
- Python's time-module beheersen: functies, structs en praktische voorbeelden
- Uitgebreide handleiding voor Python-operators: Rekenkundig, logisch, vergelijking, toekenning, bitwise en precedenties
- Python abs()-functie: absolute waarden berekenen voor getallen & complexe getallen
- Python Overzicht: Hoog-Niveau, Leesbaar, Interactief & Object-Georiënteerd
- Python-variabelen: Declareren en beheren van string-typen
- Python Object-Georiënteerd Programmeren meesteren: Een uitgebreide gids
- Python Calendar Module: Expert Gids met Codevoorbeelden
- Python-exception handling: try, except, else en finally uitgelegd