python - 生成具有浮点值的列表

标签 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 - 如果我取随机整数,如何除无余数?

python - 如何强制 django 从 shell 重新启动数据库连接?

python - Pyspark Dataframe 插补——根据指定条件用列平均值替换未知值和缺失值

python - JSON 到 Python 数据框

python - 从文件名读取单页 .tif 文件作为 multipage.tiff

Python 'RequestsHandler' 对象没有属性 'filters'

用于重复添加的 Python for 循环