проверьте, нет ли переменной None или numpy.array в python

Я хотел бы проверить, есть ли переменная None или numpy.array. Для этого я check_a функцию 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() 

One Solution collect form web for “проверьте, нет ли переменной None или numpy.array в python”

Просто сделай это!

 if a is None: ... else: ... 

Или если вы хотите быть более явным:

 # be careful not to check for np.array but for np.ndarray! if type(a) is np.ndarray: ... else: ... 

Благодаря @farenorth существует еще одно решение: isinstance . Это то же самое, что и выше, но также вернет True для подклассов этого типа (если это то, что вы хотите).

 # be careful not to check for np.array but for np.ndarray! if isinstance(a, np.ndarray): ... else: ... 
  • Сравнение двух словарей с матрицами numpy как значений
  • Как я могу получить массив переменных значений в python?
  • Найти все локальные Maxima и Minima, когда значения x и y заданы как numpy массивы
  • Использование Numpy на разных платформах
  • Развернуть размеры xarray
  • Быстрое преобразование вектора C / C ++ в массив Numpy
  • Сравнение цепочек цепей с двумя предикатами
  • Различие XGBoost в тренировочных и тестовых функциях после преобразования в DMatrix
  • Умножение больших разреженных матриц в python
  • Тестирование, если все значения в массиве numpy равны
  • Как читать систему дифференциальных уравнений из текстового файла для решения системы с помощью scipy.odeint?
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.