【发布时间】:2020-08-01 08:00:57
【问题描述】:
我将一个参数(假设是变量'a')传递给一个函数,这个变量可以等于 None 或者是一个 np.array。
# Option 1
a = None
# Option 2
a = np.array(range(0,10))
根据什么等于,我想做不同的事情。
这就是我所做的:
if a == None:
do this
else:
do that
这个问题是 np.array 不能等于 None 并且我收到以下消息: "ValueError: 多元素数组的真值不明确。使用a.any() 或a.all()"
但是,如果我使用 a.any() 或 a.all() 并且 a = None,则会弹出一个不同的错误,因为 None 没有属性 'any' 或 'all'。
我怎样才能很好地解决这个问题?
我尝试了以下但似乎必须有比复制代码更好的方法,还是我错了?
try:
if a == None:
do this
else:
do that
except:
if a.any() == None:
do this
else:
do that
【问题讨论】:
标签: python python-3.x if-statement numpy-ndarray nonetype