not obj
= bool(obj) is False
Проверяет, что объект ложный. Для встроенных объектов python по типу list, set и т.д. пустой означает ложный print( not True ) # False
print( not False ) # True
Если функция в своем аргументе ожидает список, и нужно чтобы список обязательно был заполнен... можно проверять: def func(arr):
if not arr:
print('Пустой список!')
return
#...
print(arr)
func([])
func([1, 2, 3])
Потому что пустой [] в логическом контексте будет False, а not [] даст True и условие выполнится.