ฉันต้องการตรวจสอบว่าตัวแปรเป็น 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()
ValueError
เป็นหนึ่งในnumpy
คำถามที่พบบ่อย หมายความว่าnot a
สร้างอาร์เรย์บูลีนโดยมี (ในกรณีนี้) 2 ค่า อาร์เรย์บูลีนนี้ไม่สามารถใช้เป็นif
เงื่อนไขได้!is None
เป็นทางเลือกที่ดีที่จะรู้ แต่คุณควรเข้าใจข้อผิดพลาดนี้