當使用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數組。 –