On Wed, Dec 13, 2017 at 4:50 AM, Joe <solar...@posteo.org> wrote:
>
> Hi,
>
> the best example I found was this one:
>
> https://stackoverflow.com/a/29319864/7919597
>
> def func_for_scalars_or_vectors(x):
>     x = np.asarray(x)
>     scalar_input = False
>     if x.ndim == 0:
>         x = x[None]  # Makes x 1D
>         scalar_input = True
>
>     # The magic happens here
>
>     if scalar_input:
>         return np.squeeze(ret)
>     return ret
>
> Is this as good as it gets or do you have other suggestions?

In general structure, yeah. I'd probably use `np.isscalar(x)` for the test
and `x = np.atleast_1d(x)` for the coercion for readability, but otherwise,
that's it.

--
Robert Kern
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion

Reply via email to