I have multiple variables getting converted to numpy.array. so the input variable may be already numpy.array or a list. But I want to avoid creating multiple isinstance checks to convert .
Any builtin function which type casts if not already the type else does nothing. (Like a ternary operator or a null checking (var or defaultval) )
Or in other words simply converting to same type has any effect in python?
CodePudding user response:
This is what numpy.asarray() is for: if it is passed an array it will return it. You can safely call this on your "maybe arrays", and it will be a no-op:
>>> import numpy as np
... arr = np.arange(3)
... np.asarray(arr) is arr
True
On the other hand if you pass in a list or other sequence, it will be converted to a numpy array. And if you also want to allow numpy ndarray subclasses to be preserved, use np.asanyarray().
