60
Python Performance: Why 'if not list' is 2x Faster Than Using len()
(blog.codingconfessions.com)
Welcome to the Python community on the programming.dev Lemmy instance!
Past
November 2023
October 2023
July 2023
August 2023
September 2023
Do you know what else can tell you it's a list? Type hinting.
If I care about the distinction between None and an empty list, I'll make separate checks.
len(None)
raises an exception, and most of the time that's not what I want when checking whether there's something in the list, sonot x
is generally preferred, especially when type hinting is used consistently enough to be reasonably sure I'm actually getting a list orNone
. If I get something else, that means things got really broken and they'll likely get an exception alter (i.e. when doing anything list-like).That's generally exactly what I want.
len(x) == 0
doesn't tell you it's a list, it just tells you it has__len__
. So that could be adict
,list
, or a number of other types that have a length, but aren't lists.Don't rely on checks like that to tell you what type a thing is.