使用0.1 Spacing创建Python列表

时间:2015-09-26 16:10:32

标签: python

我想在Python中创建一个这样的列表:

[0., 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.]

但是当我使用这种方法时:

z = [x * 0.1 for x in range(0, 11)]

我得到了这个输出:

[0.0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6000000000000001, 0.7000000000000001, 0.8, 0.9, 1.0]

如何在没有这些错误的情况下创建所需的列表?

1 个答案:

答案 0 :(得分:0)

这些错误是二进制浮点数的生命现实。您可以强制Python使用decimal模块的十进制算术:

import decimal
z = [decimal.Decimal(i) / decimal.Decimal(10) for i in range(0, 11)]