This is honestly the worst version regarding readability. Don’t rely on implicit coercion, people.
Comment on Python Performance: Why 'if not list' is 2x Faster Than Using len()
antlion@lemmy.dbzer0.com 11 months ago
Could also compare against:
if not len(mylist)
That way this version isn’t evaluating two functions. The bool evaluation of an integer is false when zero, otherwise true.
FooBarrington@lemmy.world 11 months ago
antlion@lemmy.dbzer0.com 11 months ago
But the first example does the same thing for an empty list. I guess the lesson is that if you’re measuring the speed of arbitrary stylistic syntax choices, maybe Python isn’t the best language for you.
FooBarrington@lemmy.world 11 months ago
Yes, the first example does the same thing, but there’s still less to mentally parse. Ideally you should just use
if len(my list) == 0:.
sugar_in_your_tea@sh.itjust.works 11 months ago
That’s worse. IMO, solve this problem with two things:
mylistaslist | Noneor justlistif not mylist:The first documents intent and gives you static analysis tools some context to check for type consistency/compatibility, and the second shows that
Nonevs empty isn’t an important distinction here.