2009-06-13 8 views
7

J'ai pris une entrée entière et essayé de l'inverser en Python mais en vain! Je l'ai changé en chaîne mais je ne suis toujours pas capable de le faire. Y a-t-il un moyen de l'inverser? Y a-t-il une fonction intégrée?Inversion de chaîne en Python

Je ne suis pas en mesure de convertir l'entier en une liste donc pas en mesure d'appliquer la fonction inverse.

+0

C'est un double: http://stackoverflow.com/questions/931092/reverse-a-string-in-python/931095#931095 –

Répondre

30

Vous pouvez utiliser l'opérateur de coupe pour inverser une chaîne:

s = "hello, world" 
s = s[::-1] 
print s # prints "dlrow ,olleh" 

Pour convertir un entier en une chaîne, inverse, et reconvertir en un entier, vous pouvez faire:

x = 314159 
x = int(str(x)[::-1]) 
print x # prints 951413 
+0

N'a pas vu cette méthode avant .. – Armandas

+1

renommé str -> s pour éviter toute confusion avec la chaîne intégrée – jfs

+0

@ J.F. Sebastian, merci, c'était plutôt idiot de ma part =/ –

4

code:

>>> n = 1234 
>>> print str(n)[::-1] 
4321 
2
>>> int(''.join(reversed(str(12345)))) 
54321 
+2

Note: Pas aussi pythonique que la solution opérateur de tranchage. – Macarse

+1

Je suis d'accord, mais seulement appris cette méthode aujourd'hui :) – Armandas

Questions connexes