Why bool( object )?

Steven D'Aprano steve at REMOVE-THIS-cybersource.com.au
Fri May 1 21:47:32 EDT 2009


On Fri, 01 May 2009 15:03:30 -0700, Aaron Brady wrote:

> On May 1, 4:30 am, Steven D'Aprano <st... at REMOVE-THIS-
> cybersource.com.au> wrote:
>> On Fri, 01 May 2009 16:30:19 +1200, Lawrence D'Oliveiro wrote:
>> > I have never written anything so unbelievable in my life. And I hope
>> > I never will.
>>
>> I didn't say you did. If anyone thought I was quoting Lawrence's code,
>> I'd be surprised. It was not my intention to put words into your mouth.
>>
>> But seeing as you have replied, perhaps you could tell us something.
>> Given so much you despise using non-bools in truth contexts, how would
>> you re-write my example to avoid "a or b or c"?
>>
>> for x in a or b or c:
>>     do_something_with(x)

[...]
> I don't think it would be very common to write Steven's construction for
> arbitrary values of 'a', 'b', and 'c'.

I don't care about "arbitrary values" for a, b and c. I don't expect a 
solution that works for (say) a=None, b=5, c=[]. I'm happy to restrict 
the arguments to all be arbitrary sequence-like objects.

I'm even happy for somebody to give a solution with further restrictions, 
like "if I know before hand that all three are lists, then I do blah...". 
But state your restrictions up front.




-- 
Steven



More information about the Python-list mailing list