<分区>
我希望生成一个包含这些值的列表:
[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 的浮点表示,但是 float("0.35") 给出了。
标签 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 的浮点表示,但是 float("0.35") 给出了。
最佳答案
为了保证最接近的有效 float ,您需要从精确的值开始。 0.01
不准确,但 100.0
是。
[i/100.0 for i in range(50)]
关于python - 生成具有浮点值的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637310/
相关文章:
python - 将 Winium (+ Selenium) 与 python 一起使用只允许我打开应用程序,但不会与之交互?
python - 将大型视频文件上传到 Google App Engine
Python3 pathlib 单行代码用于检查 Path 是否至少有一个特定扩展名的文件
python - 如何强制 django 从 shell 重新启动数据库连接?
python - Pyspark Dataframe 插补——根据指定条件用列平均值替换未知值和缺失值
python - 从文件名读取单页 .tif 文件作为 multipage.tiff