我必须使用%.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]

10-01 23:46