34
Je voudrais vérifier si la variable est None ou numpy.array. J'ai implémenté la fonction check_a
pour cela.ValueError lors de la vérification si la variable est None ou 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)
Mais, ce code déclenche ValueError. Quelle est la manière directe?
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()
Cette 'ValueError' est l'une des questions' numpy' les plus courantes. Cela signifie que 'not a' produit un tableau booléen, avec (dans ce cas) 2 valeurs. Ce tableau booléen ne peut pas être utilisé comme condition "if"! L'alternative '' None '' est bonne à savoir, mais vous devriez aussi comprendre cette erreur. – hpaulj