:x: Problematic code:
foo = [1, 2, 3] if type(foo) is list: pass
:heavy_check_mark: Correct code:
foo = [1, 2, 3] if isinstance(foo, list): pass
Using type() instead of isinstance() for a typecheck. The idiomatic way to perform an explicit typecheck in Python is to use isinstance(x, y) rather than type(x) == Y, type(x) is Y. Though there are unusual situations where these give different results.