Beware any vs len
Published:
I fell into the habit of using any() to check if a list is empty. It’s nice because it works for any enumerable, including generators, even if len() is not defined. However, it has a pitfall where if the list is nonempty but contains only falsy values, any() returns False. For this reason, I advise to use len() to check if a list is empty.
In [1]: coll = [0]
...: if any(coll):
...: print("has some!")
...:
In [2]: coll = [0]
...: if len(coll) > 0:
...: print("has some!")
...:
has some!
