是否有内置函数在python中保持一定数量的数字?

时间:2013-12-18 07:01:54

标签: python python-2.7

python库中是否存在这样的内容?

def func(num, start, end):
    if num <= start:
        return start
    if num >= end:
        return end
    return num

2 个答案:

答案 0 :(得分:9)

minmax接近

def func(num, start, end):
    return min(max(num, start), end)

或三元方法

def func(num, start, end):
    return num if start<num<end else start if num<=start else end

答案 1 :(得分:2)

我能提出的最接近的是:

def func(num, start, end):
   return min(max(start,num),end)

但鉴于我与之合作的一些人可能更好:

def func(num, start, end):
    """ Clip a single value """
    top, bottom = max(start, end), min(start, end)
    return min(max(bottom,num),top)

但是如果数组中有多个值,则总是numpy.clip