1-line idiom to replace if blocks
Andrew Koenig
ark at research.att.com
Wed Jan 22 08:39:03 EST 2003
>> And, of course, if you really want short-circuiting, you can write this:
>> result=[lambda:value-if-false, lambda:value-if-true][condition]()
Justin> I like it except I'd add "[not not condition]" to ensure a 0 or a 1.
You don't need to do that -- instead, you can write
result=[lambda:value-if-true, lambda:value-if-false][not condition]()
--
Andrew Koenig, ark at research.att.com, http://www.research.att.com/info/ark
More information about the Python-list
mailing list