Booleano testando uma lista em Python

Eu estava testando uma lista para ver se está vazia ou não. Normalmente uso len (list) == 0 e lembrei-me vagamente de ler há pouco que a maneira correta de testar se uma lista está vazia era se era True ou false.

Então eu tentei lista é falsa, e isso retornou False. Talvez eu deva estar usando ==? Não, isso também retornou falso. list é True, retornou false como listou == True.

Agora estou confuso, então faço um rápido google e acabo em:Melhor maneira de verificar se uma lista está vazia

A resposta principal é:

if not a:
    print "List is empty"

Então eu pesquiso um pouco mais e acabo no manual do python, onde 4.1 afirma:

Qualquer objeto pode ser testado quanto ao valor de verdade, para uso em uma condição if ou while ou como operando das operações booleanas abaixo. Os seguintes valores são considerados falsos:

qualquer seqüência vazia, por exemplo, '', (), [].

Agora estou completamente confuso. Se eu testar uma lista como se não fosse listar, tudo funciona bem. Mas se uma lista vazia é falsa, então por que não posso fazer apenas se a lista for False ou se list == False?

obrigado

questionAnswers(4)

yourAnswerToTheQuestion