On Mon, 22 Jan 2018 10:11:08 -0500, Marten van Kerkwijk wrote:
I think on the consistency argument is perhaps the most important: views are very powerful and in many ways one *counts* on them happening, especially in working with large arrays.
I had the same gut feeling, but the fancy indexing example made me pause: In [9]: x = np.arange(12, dtype=float).reshape((3, 4)) In [10]: p = x[[0, 1]] # copy of data Then: In [11]: x = np.array([(0, 1), (2, 3)], dtype=[('a', int), ('b', int)]) In [12]: p = x[['a', 'b']] # copy of data, but proposal will change that We're not doing the same kind of indexing here exactly (in one case we grab elements, in the other parts of elements), but the view behavior may still break the "mental expectation". Fortunately, there's already other proof that this operatoin is not exactly fancy indexing: In [15]: x[['a', 'a']] --------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-15-3629f1d5c01d> in <module>() ----> 1 x[['a', 'a']] KeyError: 'duplicate field of name a' Not copying wherever possible feels like an important principle to uphold, so I am +1. Stéfan _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion