我有一张花车的清单。如果我只是print
它,它显示如下:
[9.0, 0.052999999999999999, 0.032575399999999997, 0.010892799999999999, 0.055702500000000002, 0.079330300000000006]
我可以使用print "%.2f"
,这将需要一个for
循环来遍历列表,但是对于更复杂的数据结构,它就不起作用了。
我想要这样的东西(我完全在编造)
>>> import print_options
>>> print_options.set_float_precision(2)
>>> print [9.0, 0.052999999999999999, 0.032575399999999997, 0.010892799999999999, 0.055702500000000002, 0.079330300000000006]
[9.0, 0.05, 0.03, 0.01, 0.06, 0.08]
你可以做:
正如noone所添加的,应该注意的是,从Python2.6+开始,建议使用string formating的方法是使用^{} ,为Python3+做好准备
The newstring formating syntax使用起来并不困难,但功能相当强大
我想那可能是{a5}可能有什么,但我什么也没发现
一个更持久的解决方案是子类
float
:子类化
float
的问题在于它破坏了显式查找变量类型的代码。但据我所知,这是唯一的问题。而一个简单的x = map(float, x)
将撤消到prettyfloat
的转换不幸的是,你不能仅仅是猴子补丁
float.__repr__
,因为float
是不可变的如果您不想将
float
子类化,但不介意定义一个函数,map(f, x)
比[f(n) for n in x]
简洁得多相关问题 更多 >
编程相关推荐