在Python 2.6中有没有内置函数可以做到这一点?
类似这样的东西:
类似这样的东西:
clamp(myValue, min, max)
clip
函数可以实现此操作。>>> import numpy
>>> numpy.clip(10,0,3)
3
>>> numpy.clip(-4,0,3)
0
>>> numpy.clip(2,0,3)
2
没有这样的函数,但是
max(min(my_value, max_value), min_value)
就可以解决问题。
我认为问题已经得到解答,但如果有人需要的话,这里是一个替代 DIY 解决方案:
def clip(value, lower, upper):
return lower if value < lower else upper if value > upper else value
(比 @Sven Marnach 的答案略快 - 即使在边界内也是如此)。