[Python-ideas] Break the dominance of boolean values in boolean context

MRAB python at mrabarnett.plus.com
Wed Sep 14 19:19:45 CEST 2011


On 14/09/2011 17:17, Alexander Belopolsky wrote:
> On Tue, Sep 13, 2011 at 8:59 PM, Ned Batchelder<ned at nedbatchelder.com>  wrote:
>> .. Why shouldn't any() also return Sx?
>
> What is the use case for returning the first "trueish" value?  In most
> cases, any() is used in boolean context, say
>
>    if any(S):
>       do_something()
>
> In this case, returning Sx would result in Sx.__bool__() being called
> twice.  It is also rare that any() is called on the raw sequence of
> objects that are of interest.  More often it is used to express
> predicates such as any(x<  0 for x in S).
>
I had a use-case recently.

I was looking for an entry in a pseudo-dict, where the key didn't have
to be an exact match, so I called the .get method on the pseudo-dict
until it returned a true-ish value (the value would never be false-ish).

I just wrote a short function to do what I wanted.



More information about the Python-ideas mailing list