Hacker News new | ask | show | jobs
by japhyr 180 days ago
Wouldn't this be a little cleaner?

    data = collection.get("key")
    if data:
        ...
    else:
        ...
5 comments

If valid `data` can be zero, an empty string, or anything else “falsy”, then your version won’t handle those values correctly. It treats them the same as `None`, i.e. not found.
:facepalm:
No, this would crash with numpy arrays, pandas series and such, with a ValueError: The truth value of an array with more than one element is ambiguous.
No, truthiness (implicit bool coercion) is another thing you should avoid. This will do weird things if data is a string or a list or whatever.
That behaves differently (eg if collection["key"] = 0)
it depends on what's in the if blocks