Valor booleano lista vacía

Esto puede ser simplemente idiota, pero para mí es un poco confuso:

In [697]: l=[]

In [698]: bool(l)
Out[698]: False

In [699]: l == True
Out[699]: False

In [700]: l == False
Out[700]: False 

In [701]: False == False
Out[701]: True

Por quel==False regresoFalse mientrasFalse == False devolucionesTrue?