Cleaning up conditionals
Erik
python at lucidity.plus.com
Fri Dec 30 19:43:28 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:
...
?
There is _no way_ someone could read that and get the wrong idea.
E.
More information about the Python-list
mailing list