рассмотрим эту простую функцию
def foo(l=[]):
if not l: print "List is empty"
else : print "List is not empty"
Теперь вызовем foo
x=[]
foo(x)
#List is empty
foo('')
#List is empty
Но если x=[''] список не считается пустым!!!
x=['']
foo(x)
#List is not empty
Вопросы -
Почему список пустых значений не считается пустым? (В случае переменной считается пустой, например)
x=''
if x: print 'не пусто!'
иначе: напечатать «пусто»
Как изменить функцию foo() так, чтобы список считался пустым во всех этих случаях: x=[]
, x=['']
, х=['', '']