[Tutor] If tuple cannot be sorted, then why sorted() on a tuple is fine?
Peter Otten
__peter__ at web.de
Thu Aug 10 02:56:44 EDT 2017
C W wrote:
> This is a follow up. I actually ran into this today:
>
> import numpy as np
> xArray = np.ones((3, 4))
>
>> xArray.shape
> (3, 4)
>> np.shape(xArray)
> (3, 4)
>
> It was confusing to see that both xArray.shape and np.shape() worked. Are
> they equivalent?
>>> print(inspect.getsource(numpy.shape))
def shape(a):
"""
Return the shape of an array.
Parameters
----------
a : array_like
Input array.
Returns
-------
shape : tuple of ints
The elements of the shape tuple give the lengths of the
corresponding array dimensions.
See Also
--------
alen
ndarray.shape : Equivalent array method.
Examples
--------
>>> np.shape(np.eye(3))
(3, 3)
>>> np.shape([[1, 2]])
(1, 2)
>>> np.shape([0])
(1,)
>>> np.shape(0)
()
>>> a = np.array([(1, 2), (3, 4)], dtype=[('x', 'i4'), ('y', 'i4')])
>>> np.shape(a)
(2,)
>>> a.shape
(2,)
"""
try:
result = a.shape
except AttributeError:
result = asarray(a).shape
return result
So no; numpy.shape() tries to convert unshapely objects to an array ;)
More information about the Tutor
mailing list