soltar à direita '.0' de carros alegóricos
Estou procurando uma maneira de converter números em formato de string, descartando qualquer '.0' redundante
Os dados de entrada são uma mistura de flutuadores e seqüências de caracteres. Saída desejada:
0 -> '0'
0,0 -> '0'
0,1 -> '0,1'
1.0 -> '1'
Eu vim com a seguinte expressão de gerador, mas me pergunto se existe uma maneira mais rápida:
(str(i).rstrip('.0') if i else '0' for i in lst)
A verificação da verdade existe para impedir que 0 se torne uma sequência vazia.
EDIT: A solução mais ou menos aceitável que tenho por enquanto é esta:
('%d'%i if i == int(i) else '%s'%i for i in lst)
Parece estranho que não exista uma maneira elegante de lidar com esse caso (bastante direto) em python.