rkj*_*983 88 python numpy is-empty
我想检查变量是否为None或numpy.array.我已经实现check_a
了这样做的功能.
def check_a(a):
if not a:
print "please initialize a"
a = None
check_a(a)
a = np.array([1,2])
check_a(a)
Run Code Online (Sandbox Code Playgroud)
但是,这段代码引发了ValueError.什么是直接的方式?
ValueError Traceback (most recent call last)
<ipython-input-41-0201c81c185e> in <module>()
6 check_a(a)
7 a = np.array([1,2])
----> 8 check_a(a)
<ipython-input-41-0201c81c185e> in check_a(a)
1 def check_a(a):
----> 2 if not a:
3 print "please initialize a"
4
5 a = None
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)
Jer*_*ov2 147
去做就对了!:
if a is None:
...
else:
...
Run Code Online (Sandbox Code Playgroud)
或者如果你想更明确:
>>> a = numpy.arange(5)
>>> a == None
array([False, False, False, False, False])
>>> if a == None:
... pass
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)
此外,如果您使用not a
,它也将返回a
该类型的子类(如果这是您想要的):
# Careful - the type is np.ndarray, not np.array. np.array is a factory function.
if type(a) is np.ndarray:
...
else:
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
73589 次 |
最近记录: |