You’re checking if mylist
is falsey. Sometimes that’s the same as checking if it’s empty, if it’s actually a list, but that’s not guaranteed.
Comment on Python Performance: Why 'if not list' is 2x Faster Than Using len()
JasonDJ@lemmy.zip 4 days agoif isinstance(mylist, list) and not mylist
Problem solved.
Or if not mylist # check if list is empty
gravitas_deficiency@sh.itjust.works 4 days ago
JasonDJ@lemmy.zip 4 days ago
Doesn’t Python treat all empty iterables as false tho? This isn’t unique to python, is it? (though I’m not a programmer…just a dude who writes scripts every now and then)
gravitas_deficiency@sh.itjust.works 4 days ago
My point is that the second statement you presented can have the effect of evaluating emptiness of a Sequence (note: distinct from an Iterable), but that only holds true if the target of the conditional IS a sequence. I’m underlining the semantic difference that was elided as a result of falsey evaluation.
JasonDJ@lemmy.zip 4 days ago
Ok, help a noob out. What is the difference between a sequence and an iterable? Is a sequence immutable, like a tuple?
BlackRoseAmongThorns@slrpnk.net 3 days ago
Not really, generators have weird truthiness, i don’t remember if they evaluate to true or false, but they cannot be checked for emptiness so they default to either always true or always false.
sirber@lemmy.ca 4 days ago
I think you missed the joke 😅
PattyMcB@lemmy.world 4 days ago
I thought it was funny!