【发布时间】:2016-05-21 06:08:48
【问题描述】:
当使用ellipsis (...) 来索引一维ndarray 时,我希望表达式X[0] 和X[..., 0] 在语义上是相同的。但是,它们的字符串表示形式不同:
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 维数组。