On Thu, Dec 24, 2009 at 11:56 PM, Rodrick Brown <rodrick.br...@gmail.com> wrote: >>>> p=[] >>>> if p is None: > ... print 'yes' > ... >>>> > This doesn't work as expected.
That probably means that what you expect is wrong. >>>p = [] # p is now a list object at a certain location >>> if p is None: #check to see if p (a list object with 0 elements) is the same object as None (a singleton of the NoneType) #the answer is no it's not, so it doesn't execute what's in there. there are several ways to check to see if a list is empty: if not p : The preferred way, but it doesn't always work the way you want. 0, False, None, and any object with a len() of 0 evaluate to false. if len(p) == 0 : checks to see if p is a collection with 0 elements if p == [] : probably the obvious choice to beginners, but it isn't pythonic because it doesn't allow for duck typing > -- > [ Rodrick R. Brown ] > http://www.rodrickbrown.com http://www.linkedin.com/in/rodrickbrown > > -- > http://mail.python.org/mailman/listinfo/python-list > > -- http://mail.python.org/mailman/listinfo/python-list