Cleaning up conditionals

Deborah Swanson python at deborahswanson.net
Fri Dec 30 19:54:29 EST 2016


> On 31/12/16 00:26, Deborah Swanson wrote:
> > As Mr. Bieber points out, what I had above greatly benefits 
> from the 
> > use of conjunctions. It now reads:
> >
> > if not len(l1[st]) and len(l2[st]):
>> IMHO, "if not len(l)" is a _terrible_ way of spelling "if 
> len(l) == 0" 
> (mentally, I have to read that as "if length of 'l' is not 
> not equal to 
> 0" - and a double negative won't never cause problems ( ;) )).
>> Also, in that particular expression, having to know off the 
> top of their 
> head the precedence of 'not' and 'and' will cause at least some 
> percentage of your maintenance audience in the future to get it wrong.
>> What's wrong with:
>> if len(l1[st]) == 0 and len(l2[st]) != 0:
> ...
>> ?

Absolutely nothing wrong, and you're right that it's more readable. I
just think it's cool that Python will do the right thing with not len(a)
and len(a).
 
> There is _no way_ someone could read that and get the wrong idea.
>> E.

Quite true.


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /