변수가 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)
그러나이 코드는 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()
not
때 오류가 실제로 발생 not
합니다. 이었다면 ~a
NumPy의 오버로드 if
를 사용하고 부정 배열을 단일 부울로 사용하려고 할 때 실패했을 것 입니다.
ValueError
가장 일반적인numpy
질문 중 하나입니다 . 이는not a
(이 경우) 2 개의 값이있는 부울 배열을 생성 함을 의미 합니다. 이 부울 배열은if
조건 으로 사용할 수 없습니다 !is None
대안은 알고하는 것이 좋다, 그러나 당신은 또한이 오류를 이해해야합니다.