34
Я хотел бы проверить, нет ли переменной None или numpy.array. Я выполнил функцию check_a
, чтобы сделать это.ValueError при проверке, если переменная равна None или numpy.array
def check_a(a):
if not a:
print "please initialize a"
a = None
check_a(a)
a = np.array([1,2])
check_a(a)
Но этот код вызывает 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()
Этот «ValueError» является одним из самых распространенных вопросов «numpy». Это означает, что 'not a' производит логический массив, с (в данном случае) 2 значениями. Этот логический массив не может использоваться как условие 'if'! Альтернатива 'is None '- это хорошо знать, но вы также должны понимать эту ошибку. – hpaulj