【发布时间】:2011-08-16 09:40:12
【问题描述】:
我有一个程序处理嵌套数据结构,其中底层类型通常以小数结尾。例如
x={'a':[1.05600000001,2.34581736481,[1.1111111112,9.999990111111]],...}
是否有一种简单的 Pythonic 方法来打印这样的变量,但将所有浮点数舍入到(例如)3dp 并且不假设列表和字典的特定配置?例如
{'a':[1.056,2.346,[1.111,10.000],...}
我在想类似的事情
pformat(x,round=3) 或者可能
pformat(x,conversions={'float':lambda x: "%.3g" % x})
除了我不认为他们有这种功能。永久舍入基础数据当然不是一种选择。
【问题讨论】:
-
如何运行类似 [floor(x*1000)/1000.0 for x in a] 的循环?
-
仅适用于数字列表。
标签: python printing string-formatting rounding