生成具有浮点值的列表

时间:2015-04-14 20:59:11

标签: python python-3.x

我希望生成一个包含这些值的列表:

[0,0.01,0.02...0.49]

我认为这是正确的方法:

[0.01*i for i in range(50)]

但令我恐惧的是,我发现了以下内容:

>>> 35*0.01
0.35000000000000003
>>> float("0.35")
0.35

我做错了什么?如果我理解正确似乎35 * 0.01没有给出最接近的浮点数表示0.35但浮点数(“0.35”)确实如此。

1 个答案:

答案 0 :(得分:7)

要保证最近的有效浮点数,您需要从精确值开始。 0.01并不准确,但100.0是。

[i/100.0 for i in range(50)]