Formas mais elegantes de fazer inversão de integers, arrays e strings em Python – python array string
Pergunta:
Salve!
Tenho procurado formas elegantes de fazer a inversao de strings, arrays e integers em Python.
O que acham desses meus códigos abaixo e o que sugerem para melhorá-los? Eles funcionam…
Obrigado!
frase = 'eu gosto de python'[::-1]
numero = [12, 13, 14, 15, 16, 17]
inteiro = 123456
numeroInvertido = int(str(inteiro)[::-1])
print frase
print numero [::-1]
print numeroInvertido
Autor da pergunta F. Rigo
Resposta Cigano Morrison Mendez:
Sobre esta forma:
frase = 'eu gosto de python'[::-1]
Não apenas é a forma mais performática como também a mais rápida para todos os casos. Isto também vale para esta forma:
numero = [12, 13, 14, 15, 16, 17][::-1]
E, portanto, esta:
numeroInvertido = int(str(inteiro)[::-1])
Para o caso de strings, há ainda está forma:
''.join(reversed('eu gosto de python'))
Mas esta forma é mais lenta.
Para listas, você ainda pode fazer:
list(reversed([12, 13, 14, 15, 16, 17]))
Também mais lenta. Ou ainda:
numero = [12, 13, 14, 15, 16, 17]
print(numero.reverse())
Em resumo, sim, você utiliza as melhores formas de inverter as estruturas de dados mencionadas.