Подтвердить что ты не робот

Как проверить, не массив ли пуст?

Как проверить, не массив ли пуст? Я сделал это:

if not self.table[5] is None:

Правильно ли это?

4b9b3361

Ответ 1

с a как массив numpy, используйте:

if a.size:
   print('array is not empty')

(в Python такие объекты, как [1,2,3], называются списками, а не массивами.)

Ответ 2

В вопросе нет упоминания о numpy. Если по массиву вы имеете в виду list, то, если вы обрабатываете список как логическое значение, оно даст True, если оно имеет элементы, а False, если оно пустое.

l = []

if l:
    print "list has items"

if not l:
    print "list is empty"

Ответ 3

if self.table:
    print 'It is not empty'

Слишком хорошо

Ответ 4

Простым способом является использование булевых выражений:

if not self.table[5]:
    print('list is empty')
else:
    print('list is not empty')

Или вы можете использовать другое булево выражение:

if self.table[5]==[]:
    print('list is empty')
else:
    print('list is not empty')

Ответ 5

len(self.table) проверяет длину массива, поэтому вы можете использовать if-statements, чтобы узнать, превышает ли длина списка 0 (не пусто):

Python 2:

if len(self.table) > 0:
    #Do code here

Python 3:

if(len(self.table) > 0):
    #Do code here

Можно также использовать

if self.table:
    #Execute if self.table is not empty
else:
    #Execute if self.table is empty

чтобы убедиться, что список не пуст.

Ответ 6

Я еще не могу прокомментировать, но следует отметить, что если вы используете массив numpy с более чем одним элементом, это не будет выполнено:

if l:
       print "list has items"

elif not l:
    print "list is empty"

ошибка будет:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()