Omvända en sträng i Python

Det finns ingen inbyggd reverse-funktion för Pythons str-objekt. Vilket är det bästa sättet att implementera denna metod?

Om du ger ett mycket kortfattat svar, var snäll och förklara hur effektivt det är. Till exempel om str-objektet konverteras till ett annat objekt osv.

Lösning

Vad sägs om:

>>> 'hello world'[::-1]
'dlrow olleh'

Detta är extended slice syntax. Den fungerar genom att göra [begin:end:step] - genom att lämna begin och end borta och ange ett steg på -1, vänds en sträng om.

Kommentarer (2)

@Paolo's s[::-1] är snabbast; ett långsammare tillvägagångssätt (kanske mer läsbart, men det kan diskuteras) är ''.join(reversed(s)).

Kommentarer (4)

Omvända en sträng i python utan att använda reversed() eller [::-1]

def reverse(test):
    n = len(test)
    x=""
    for i in range(n-1,-1,-1):
        x += test[i]
    return x
Kommentarer (1)