Форум сайта python.su
0
Мне нужно определить является ли массив пустой или нет (в numpy). Найти определенную функцию в модуле numpy не могу.
Решила написать примитивный код, но выдает ответ не правильно:
import numpy as np t = np.array([]) # задается пустой массив if t == np.array([]): # если массив пустой то выводится 'pustoi' print 'pustoi' else: # иначе выводится сам массив print t
Офлайн
52
Есть .size
Можно также инициализировать numpy-массив с помощью обычного списка, наличие элементов в котором определяется совсем просто.
Отредактировано fata1ex (Авг. 10, 2012 09:34:20)
Офлайн
568
import numpy t = numpy.array([]) if t: print 'Not Empty' else: print "Empty"
Офлайн
52
FishHookimport numpy t = numpy.array([]) if t: print 'Not Empty' else: print "Empty"
>>> import numpy as np >>> t = np.array([1, 0]) >>> if t: ... print 'Not Empty' ... else: ... print 'Empty' ... ... Traceback (most recent call last): File "<input>", line 1, in <module> ValueError: The truth value of an array with more than one element is ambiguous. Us e a.any() or a.all()
Офлайн
568
Странная логика. Ну тогда так
import numpy t = numpy.array([1,2,3]) if len(t): print 'Not Empty' else: print "Empty"
Офлайн
52
FishHook, t.size же!
Офлайн