আমি ভেরিয়েবলটি না বা নম্পি.আররে আছে কিনা তা পরীক্ষা করতে চাই। আমি এটি 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 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
অ্যারেটিকে একটি একক বুলিয়ান হিসাবে বিবেচনা করার চেষ্টা করে এবং তা খুঁজে বের করতে পারে না can't যদি এটি ~a
হত তবে এটি নম্পপির ওভারলোডটি ব্যবহার করতে পারত এবং যখন if
একক বুলিয়ান হিসাবে অবহেলিত অ্যারে ব্যবহার করার চেষ্টা করে ব্যর্থ হত failed
ValueError
একটি সাধারণnumpy
প্রশ্ন common এর অর্থnot a
(এই ক্ষেত্রে) 2 টি মান সহ একটি বুলিয়ান অ্যারে তৈরি হয়। এই বুলিয়ান অ্যারেটিif
শর্ত হিসাবে ব্যবহার করা যায় না !is None
বিকল্প জানা ভাল, কিন্তু আপনার কাছে এই ত্রুটি বুঝতে হবে।