在Python中夹紧浮动数字?

时间:2012-03-19 18:25:28

标签: python math clamp

Python 2.6中是否有内置函数?

类似的东西:

clamp(myValue, min, max)

3 个答案:

答案 0 :(得分:39)

Numpy的clip函数会执行此操作。

>>> import numpy
>>> numpy.clip(10,0,3)
3
>>> numpy.clip(-4,0,3)
0
>>> numpy.clip(2,0,3)
2

答案 1 :(得分:30)

没有这样的功能,但是

max(min(my_value, max_value), min_value)

会做到这一点。

答案 2 :(得分:2)

我认为这个问题已经回答,但是如果有人需要,这是另一种DIY解决方案:

def clip(value, lower, upper):
    return lower if value < lower else upper if value > upper else value

(比@Sven Marnach的回答稍快-即使在界限内)。