4 ms·
This is redundant: if a list's length is 1, then it's true in a boolean context. In a boolean context, the list is true if the length is non-zero. This example
by statictype 16y ago
This is redundant: if a list's length is 1, then it's true in a boolean context.
In a boolean context, the list is true if the length is non-zero. This example and the one the article is about is for the case where you know the list to have exactly one element. Not zero and not more than one.
- jemfinch 16y agoYou are aware that asserting `len(L) == 1` excludes the possibility that it's empty, right? You know what "redundant" means, right?
- statictype 16y agoif L is None then asserting `len(L)==1` throws an exception. The `if L and` part safeguards against that.
- jemfinch 16y agoAnd the point that was made in the other branch of this thread is that if the author intends to guard against None (who knows why?) then he should say, explicitly, "if L is not None". That's what PEP8 recommends precisely to avoid ambiguities such as these.