2009-06-13 24 views
7

He tomado una entrada entera e intenté invertirla en Python, ¡pero fue en vano! Lo cambié en una cadena pero todavía no puedo. ¿Hay alguna forma de revertirlo? ¿Hay alguna función incorporada?Inversión de cadena en Python

No puedo convertir el número entero en una lista, por lo que no puedo aplicar la función inversa.

+0

Este es un duplicado: http://stackoverflow.com/questions/931092/reverse-a-string-in-python/931095#931095 –

Respuesta

30

Usted puede utilizar el operador de rebanado para revertir una cadena:

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

Para convertir un entero a una cadena, invertirlo, y convertir de nuevo a un número entero, que puede hacer:

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

No he visto este método antes ... – Armandas

+1

rebautizado str -> s para evitar confusiones con str integrado – jfs

+0

@ J.F. Sebastian, gracias, eso fue una tontería de mí =/ –

4

Código:

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

Nota: No es tan pitónico como la solución del operador de corte. – Macarse

+1

Estoy de acuerdo, pero solo aprendí ese método hoy :) – Armandas

Cuestiones relacionadas