Rajarshi <[EMAIL PROTECTED]> wrote: >This is a slightly naive question, but I know that 0 can be used to >represent False. So > >>>> 0 == False >True > >But, I know I can use [] to represent False as in > >>>> if not []: print 'empty' >... >empty > >But then doing the following gives a surprising (to me!) result > >>>> [] == False >False > >Could anybody point out why this is the case?
False is just a constant. 0, (), '', [], and False are all constants that happen to evaluate to a false value in a Boolean context, but they are not all the same. As a general rule, I've found code like "if x == False" to be a bad idea in ANY language. -- Tim Roberts, [EMAIL PROTECTED] Providenza & Boekelheide, Inc. -- http://mail.python.org/mailman/listinfo/python-list