如何在 Python3 中检查一个数字是否为 0.0,即浮点零?

How to check if a number is 0.0 ie floating point zero in Python3?

提问人:Rahul Goswami 提问时间:3/31/2018 最后编辑:Rahul Goswami 更新时间:4/1/2018 访问量:5229

问:

我有一个不同类型的项目列表,比如说

arr = [False, 0, 78, 'string', 0.0, True, None, [], ()] 现在我需要一个函数来检查,即 存在于数组中,并返回其索引。 我该怎么做?0.0float(0)

请注意,它应该忽略其他值,如 、 、 等。False0None

编辑:我也试过了,但失败了。所以额外的问题,为什么这不起作用?if n is 0.0if n is float(0)

浮点 python-3.6 相等 性为零

评论

0赞 Mozahler 3/31/2018
到目前为止,您尝试过什么?什么不起作用?
0赞 Rahul Goswami 4/1/2018
@Mozahler我试过了:而且.显然或没有用。if n is 0.0:if n is float(0):if n == 0.0if not n

答:

3赞 Bishakh Ghosh 3/31/2018 #1

这是一个可能的解决方案:

arr = [False, 0, 78, 'string', 0.0, True, None, [], ()]
for idx, item in enumerate(arr):
    if isinstance(item, float) and item == 0.0:
        print(idx)