将list转为float数组python_如何编写接受float,list或numpy.array的Python函数?

我有以下简单的

Python函数:

def get_lerp_factor( a,x,b ):

if x <= a: return 0.

if x >= b: return 1.

return (x - a) / (b - a)

许多numpy函数,如numpy.sin(x)可以处理浮点数或数组.

那么如何以相同的方式扩展它,以便它还可以处理x的numpy数组?

def get_lerp_factor( a,x_maybe_array,b ):

out = (x_maybe_array - a) / (b - a) # this should work...

# but now I have to clamp each element of out between 0 and 1

我是否必须专门检查x的类型,并相应地进行分支?

怎么样:

def get_lerp_factor( a,x_anything,b ):

x = np.array( x_anything )

out = ...(x)

# now typecast out back into the same type as x... will this work?

你可能感兴趣的:(将list转为float数组python_如何编写接受float,list或numpy.array的Python函数?)