如何打印具有3个十进制数值的列表列表?

时间:2016-08-29 09:29:36

标签: list python-2.7 decimal

a = [[1.0993455308580886, 1.9814814814814814, 1.2331369355392543, 1.646283618833137, 2.2736098709332486, 1.50035992597825]]

我有上面的列表列表。如何打印它以使用3个十进制数字打印数字。我想要这个:

b = [[1.099, 1.981, 1.233, 1.646, 2.273, 1.500]]

有没有办法可以强制我的代码中的所有浮点数都有3个十进制数?

2 个答案:

答案 0 :(得分:2)

这是Change default float print format的重复。

长话短说:你无法在全球范围内改变它。但是你可以编写一个这样的函数

return [[round(n, 3) for n in a[0]]]

return [['%.3f' % n for n in a[0]]]

创建这样的列表称为列表理解。或者,您也可以使用map

return [map(lambda n: '%.3f' % n, a[0])]

但通常Python开发人员更喜欢列表理解。

答案 1 :(得分:0)



var a = [[1.0993455308580886, 1.9814814814814814, 1.2331369355392543, 1.646283618833137, 2.2736098709332486, 1.50035992597825]]

var b = [];

//copy a into b array
for(var i = 0, len = a.length; i < len; ++i)
   b[i] = a[i];

//round
for(var x = 0, len = b.length; x < len; ++x)
   for(var s = 0, len2 = b[x].length; s < len2; ++s)
       b[x][s] = b[x][s].toFixed(3);  

console.log(b.toString())
&#13;
&#13;
&#13;