当使用ellipsis
(...
)来索引1-D ndarray
时,我认为表达式X[0]
和X[..., 0]
在语义上是相同的。然而,他们的字符串表现有所不同:对于1-D`X`,`X [n]`和`X [...,n]`有什么区别?
In [522]: X = arange(5)
In [523]: repr(X[0])
Out[523]: '0'
In [524]: repr(X[..., 0])
Out[524]: 'array(0)'
我无法找到任何其他方面的差异,而事实上,他们根据array_equal
是相等的:
In [526]: array_equal(X[0], X[..., 0])
Out[526]: True
如果他们是根据array_equal
平等的,为什么他们有不同的字符串表示?
正如@CharlieHaley所说,不同的字符串表示是因为其中一个给你一个标量,另一个是0维的NumPy数组。不过,我不知道为什么'...'会导致0-d数组。 –