Saya ingin memeriksa apakah variabelnya None atau numpy.array. Saya telah menerapkan check_afungsi untuk melakukan ini.
def check_a(a):
if not a:
print "please initialize a"
a = None
check_a(a)
a = np.array([1,2])
check_a(a)
Tapi, kode ini memunculkan ValueError. Apa cara lurus ke depan?
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, jadi kesalahan sebenarnya terjadi saat notmencoba memperlakukan array sebagai boolean tunggal dan ternyata tidak bisa. Jika sudah ~a, itu akan menggunakan NumPy overload dan gagal ketika ifmencoba menggunakan array yang dinegasikan sebagai boolean tunggal.
ValueErroradalah salah satunumpypertanyaan paling umum . Artinyanot amenghasilkan array boolean, dengan (dalam hal ini) 2 nilai. Array boolean ini tidak dapat digunakan sebagaiifkondisi! Theis Nonealternatif yang baik untuk mengetahui, tetapi Anda juga harus memahami kesalahan ini.