我希望生成一个包含这些值的列表:
[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”)确实如此。
答案 0 :(得分:7)
要保证最近的有效浮点数,您需要从精确值开始。 0.01
并不准确,但100.0
是。
[i/100.0 for i in range(50)]