Dlaczego „[] == Fałsz” ocenia na Fałsz, gdy „jeśli nie []” się powiedzie?
Pytam o to, ponieważ wiem, że pythonowy sposób sprawdzenia, czy lista jest pusta, jest następujący:
<code>my_list = [] if not my_list: print "computer says no" else: # my_list isn't empty print "computer says yes" </code>
wydrukujecomputer says no
itd. To prowadzi mnie do identyfikacji[]
zFalse
wartości prawdy; Jeśli jednak spróbuję porównać [] i False „bezpośrednio”, otrzymam następujące informacje:
<code>>>> my_list == False False >>> my_list is False False >>> [] == False False </code>
itp...
Co tu się dzieje? Czuję, że brakuje mi czegoś naprawdę oczywistego.