On Sun, Apr 5, 2015 at 3:06 AM, Alan Gauld <[email protected]> wrote: > On 05/04/15 04:45, boB Stepp wrote: > >>>>> He could have done it in various other ways too: >>>>> >>>>> eg. >>>>> lambda : all(print('Hello lambda world!'), sys.exit() ) > > >> Well, now I am curious as to why the "all" form evaluates BOTH >> elements. Apparently it does not apply the short-circuit logic we have >> been discussing, or it would stop evaluating after the print statement >> return. Why is that? > > > Because I didn't really think the example through properly. > I just grabbed the first thing I could think of that would > evaluate both functions... As Cameron has shown, a much more > elegant solution is just to use a tuple as the body of > the lambda.
Not to worry, Alan! This gave me an opportunity to read up on and learn more about all() and any(), which I had not encountered previously. Also, much has been clarified about the details of how and when things get evaluated for various approaches to these lambda expressions. Many thanks! -- boB _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor
