I have a function that takes the argument NBins. I want to make a call to this function with a scalar 50 or an array [0, 10, 20, 30].
>>> isinstance([0, 10, 20, 30], list)
True
>>> isinstance(50, list)
False
To support any type of sequence, check collections.Sequence instead of list.
note: isinstance also supports a tuple of classes, check type(x) in (..., ...) should be avoided and is unnecessary.
You may also wanna check not isinstance(x, (str, unicode))