Я ищу способ преобразования чисел в строковый формат, отбрасывая все лишние '.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 нет элегантного способа справиться с этим (довольно простым) случаем.