On Tue, Jun 19, 2018 at 5:51 AM, Mikhail V <mikhailwas@gmail.com> wrote:
On Mon, Jun 18, 2018 at 4:12 AM, Chris Angelico <rosuav@gmail.com> wrote:
On Mon, Jun 18, 2018 at 10:50 AM, Steven D'Aprano <steve@pearwood.info> wrote:
items[-0:] # failed parallel ['spam', 'ham', 'foo', 'bar', 'quux']
So you use -1 in slices to parallel 1 (unlike using ~1 as with indexing), and everything works *except zero*. Which means that the slice-assignment form of insert is easy to write, but the slice-assignment form of append isn't.
Mikhail, if it were possible to append using slice assignment, would that meet the case?
How? like this:
items[-0:] = [item]
Well, yes, except for the part where -0 is indistinguishable from 0.
One of main motivation is actually to have just 'item' on the right side. So your idea is to have special syntax for 'last item' so as to avoid something like:
c = len(L) L[c:c] = [...]
But IIUC you're still about _iterable_ on the right-hand part?
Yes, for consistency with other slice assignment. I don't think a dedicated syntax for slotting a single item into it has any chance of being accepted. (PLEASE NOTE: I am not Guido. [citation needed]) But I'm trying to find some germ of an idea inside what you're asking for, something that IS plausible. ChrisA