我必须使用%.02f
格式化我的浮动内容。
我试过了:
e =[0.2941, 0.1176, 0.0588, 0.2352, 0.1176, 0.1764]
print([float(".02f" % x) for x in e])
但是失败了,所以我尝试了:
print( list(map( '%.02f'.format , e )) )
它也失败了,我在网上找到了这个:
print( list(map( '%.02f'.__mod__ , e )) )
它给了我一个字符串列表,因此我成功地用两个命令进行了格式化:
ee = map( '%.02f'.__mod__ , e )
ee = map( float , ee )
好的,它终于可以了,但是我会想念一些容易的事,不是吗?可以使用列表推导语法吗?
最佳答案
您在原始代码中缺少%
,这就是为什么它不起作用的原因。使用float("%.02f" % x)
代替float(".02f" % x)
:
>>> e =[0.2941, 0.1176, 0.0588, 0.2352, 0.1176, 0.1764]
>>> print([float("%.02f" % x) for x in e])
# ^the % is missing
[0.29, 0.12, 0.06, 0.24, 0.12, 0.18]
或者,使用
round
:>>> print([ round(x,2) for x in e])
[0.29, 0.12, 0.06, 0.24, 0.12, 0.18]