删除浮点数末尾的'.0'

7 浏览
0 Comments

删除浮点数末尾的'.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中没有一种优雅的方式来处理这个(相当直观的)情况。

0