Python 使按案例区分的代码适用于数组和数字
我经常发现自己编写的代码应该适用于单个数字和Python 使按案例区分的代码适用于数组和数字,python,numpy,Python,Numpy,我经常发现自己编写的代码应该适用于单个数字和numpy数组。如果代码需要区分大小写,我要么使用一些奇怪的构造,比如添加多个numpy.sign或类似的,要么自己编写类似的块 try: lon[x<0] -= pi except IndexError: if x<0: lon -= pi 试试看: lon[x如果速度不是问题,您可以: lon -= (x<0)*pi lon-=(x另一个选项是使用nump
numpy
数组。如果代码需要区分大小写,我要么使用一些奇怪的构造,比如添加多个numpy.sign
或类似的,要么自己编写类似的块
try:
lon[x<0] -= pi
except IndexError:
if x<0:
lon -= pi
试试看:
lon[x如果速度不是问题,您可以:
lon -= (x<0)*pi
lon-=(x另一个选项是使用numpy。其中
同时支持数组和标量:
lon -= np.where(x<0, pi, 0.)
lon-=np。其中(xI主要不关心速度,但有时我在这些结构中有乘法,y*=(xf对于乘法,您可以执行y*=2**(X<0)