On Mon, Jun 18, 2018 at 12:56 PM Mikhail V <mikhail...@gmail.com> wrote:
> Numpy arrays have also append() and insert() methods, > In [2]: np.arange(1).append(2) AttributeError: 'numpy.ndarray' object has no attribute 'append' In [3]: np.arange(1).insert AttributeError: 'numpy.ndarray' object has no attribute 'insert' So one syntax generalization possible is towards insert() method. > Why would you even want to encourage inserting into a list? It's slow and should be *discouraged*. Although IMO it could be made into nice syntax only by introducing > some symbol into the index notation. For example: > > L[] = item append(item) > L[^] = item ? appendleft(item) > L[^0] = item insert (0, item) > ... > L[^i] = item insert(i, x) > > Note, I am not responsible for the adequacy of the technical > part - since it may be not plausible technically. > Indeed, changing the syntax to add a special meaning to caret operator inside of index assignment is a *major* change. Not worthwhile for such dubious benefit. On Mon, Jun 18, 2018 at 1:08 PM Joao S. O. Bueno <jsbu...@python.org.br> wrote: > MutableSequence protocol to define "<<" as "append" No one has demonstrated with any realistic examples why code would look better with ``a <<= b`` instead of ``a.append(b)``. Perhaps a language in its infancy could toy with new spellings, but Python is old now and should be more cautious with change. I know that at least Brython used the "<<=" enhanced assignement > operator to manipulate HTML DOM, and it often results in > quite compact code when compared with javascript-equivalente manipulations. > That sounds great for a dedicated HTML DOM manipulation tool, but not for the core list type. On Sun, Jun 17, 2018 at 6:12 PM Chris Angelico <ros...@gmail.com> wrote: > Actually, maybe the problem here is that there's no easy way to > represent "-0" in a slice. > >>> items[:0] = ["shim"] # insert at beginning > >>> items[-0:] # failed parallel > The fact that signed 2's complement integers don't support negative zero does cause some problems for both indexing and slicing. However, to me it seems this is a fundamental human problem with zero. Thus the ever-present off-by-one error. I can't think of a solution that doesn't cause more harm than good.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/