сбросив трейлинг '.0' с поплавков
Я ищу способ преобразования чисел в строковый формат, отбрасывая любые лишние '.0'
Входные данные представляют собой смесь чисел с плавающей точкой и строк. Желаемый вывод:
0 -> '0'
0.0 -> '0'
0,1 -> 0,1
1,0 -> 1
Я придумал следующее выражение генератора, но мне интересно, есть ли более быстрый способ:
(str(i).rstrip('.0') if i else '0' for i in lst)
Проверка правды существует, чтобы предотвратить превращение 0 в пустую строку.
РЕДАКТИРОВАТЬ: более или менее приемлемое решение, которое я имею сейчас, заключается в следующем:
('%d'%i if i == int(i) else '%s'%i for i in lst)
Просто кажется странным, что в python нет элегантного способа справиться с этим (довольно простым) случаем.