Unpacking variable length list returned from function

后端 未结 5 637
鱼传尺愫
鱼传尺愫 2021-01-25 18:44

Ok so I\'m defining a function that takes a variable number of inputs and clamps each of them

def clamp(*args):
    return [ max(min(arg, 0.8), 0.2) for arg in a         


        
5条回答
  •  情深已故
    2021-01-25 19:28

    I'm not very conviced but here is an alternative solution

    >>> clam = lambda a: max(min(a, 0.8), 0.2)
    
    >>> def clamp(a, *args):
    ...     if args:
    ...        return [ clam(arg) for arg in (a,)+args]
    ...     else:
    ...        return clam(a)
    ... 
    >>> clamp(123, 123)
    [0.8, 0.8]
    >>> clamp(123)
    0.8
    

提交回复
热议问题