Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 10, 2012 09:06:08

Elena
Зарегистрирован: 2012-08-01
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

пустой массив

Мне нужно определить является ли массив пустой или нет (в numpy). Найти определенную функцию в модуле numpy не могу.
Решила написать примитивный код, но выдает ответ не правильно:

import numpy as np
t = np.array([]) # задается пустой массив
if t == np.array([]): # если массив пустой то выводится 'pustoi'
    print 'pustoi'  
else:   # иначе выводится сам массив
    print t
Мне выводится сам массив, а ‘pustoi’ .
В numpy я только начала разбираться. Может как то иначе нужно записать или есть определенная функция определяющая пустой массив в numpy.

Офлайн

#2 Авг. 10, 2012 09:30:55

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

пустой массив

Есть .size

Можно также инициализировать numpy-массив с помощью обычного списка, наличие элементов в котором определяется совсем просто.



Отредактировано fata1ex (Авг. 10, 2012 09:34:20)

Офлайн

#3 Авг. 10, 2012 09:32:01

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

пустой массив

import numpy
t = numpy.array([])
if t:
    print 'Not Empty'
else:
    print "Empty"



Офлайн

#4 Авг. 10, 2012 09:35:35

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

пустой массив

FishHook
import 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()



Офлайн

#5 Авг. 10, 2012 09:45:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

пустой массив

Странная логика. Ну тогда так

import numpy
t = numpy.array([1,2,3])
if len(t):
    print 'Not Empty'
else:
    print "Empty"



Офлайн

#6 Авг. 10, 2012 12:12:33

fata1ex
От:
Зарегистрирован: 2009-07-11
Сообщения: 732
Репутация: +  52  -
Профиль   Отправить e-mail  

пустой массив

FishHook, t.size же!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version