2024-05-23 18:14:43 发布
网友
这个函数可以写得更短吗?我在代码中经常这样做
def smartInt(x): if (type(x) == np.ndarray): return x.astype(int) else: return int(x)
这在行数方面并不短,但是try/except可能比显式类型检查更有效:
try
except
def smartInt(x): try: return int(x) except TypeError: return x.astype(int)
如果数组是更可能的输入:
def smartInt(x): try: return x.astype(int) except AttributeError: return int(x)
如果您可以使用numpy标量(例如np.int_而不是int),那么您可以这样做
np.int_
int
np.asanyarray(x, int)[()]
甚至
np.int_(x)
这在行数方面并不短,但是
try
/except
可能比显式类型检查更有效:如果数组是更可能的输入:
如果您可以使用numpy标量(例如
np.int_
而不是int
),那么您可以这样做甚至
相关问题 更多 >
编程相关推荐