Python:十进制数的范围函数

2022-01-24 00:00:00 python decimal range

问题描述

python中有没有用于浮点数的range()函数例如

Is there any range() function in python for float numbers for example

a=0.6

if a in range(0,1):
    a=3

我该如何实现?


解决方案

如果我没看错,你想测试一个数字是否在另外两个数字之间,所以使用:

If I'm reading correctly, you want to test if a number is between two other numbers, so use:

a = 0.6
if 0 <= a < 1: # change to `<= 1` to be inclusive
   a = 3

您不需要生成范围并进行成员资格测试 - 除非您有一组离散值,您的 a 应该匹配 - Python 中的内置 range3.x 可以对 int 进行有效的查找,因为它可以优化成员资格测试.如果你在一个很大的范围内有大量的离散值,那么你最好还是用数学方法来做.

You don't need to generate a range and do membership testing - unless you have a discrete set of values that your a should match - the builtin range in Python 3.x can do efficient lookups for ints as it can optimise membership testing. If you have a large amount of discrete values in a large range, then you'd be better of doing it mathematically anyway.

相关文章