On Fri, 04 Feb 2005 16:44:48 -0500, Daniel Bickett wrote: > [ False , False , True , None ] > > False would be returned upon inspection of the first index, even > though True was in fact in the list. The same is true of the code of > Jeremy Bowers, Steve Juranich, and Jeff Shannon. As for Raymond > Hettinger, I can't even be sure ;)
Nope. To recall, my code was: seenFalse = False for item in list: if item: return True if item is False: seenFalse = True if seenFalse: return False return None So, turning that into a real function and not a sketch: Python 2.3.4 (#1, Jan 25 2005, 21:29:33) [GCC 3.4.3 (Gentoo Linux 3.4.3, ssp-3.4.3-0, pie-8.7.6.6)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> def thingy(l): ... seenFalse = False ... for item in l: ... if item: return True ... if item is False: seenFalse = True ... if seenFalse: ... return False ... return None ... >>> thingy([ False , False , True , None ]) True >>> The defense rests, your honor. :-) (I like the later use of "returnValue" and the reduce solution was cute and quite educational (very appropriate here). I deliberately eschewed fanciness, though.) -- http://mail.python.org/mailman/listinfo/python-list