[Python-ideas] Operator for inserting an element into a list

Greg Ewing greg.ewing at canterbury.ac.nz
Wed Jun 13 19:58:21 EDT 2018


Mikhail V wrote:
> L ^= item
> is
> L.append(item)
> or
> L += [item]

Okay, that achieves an in-place append, but it's not exactly
obvious to the unenlightened what it does, whereas append()
is pretty self-explanatory.

Also, using the slice version to do an insert

   L[i:i] ^= item

is not as efficient as it looks like it should be, because it
creates an empty list, appends the item to it and then splices
that back into the list. And you have to write the index twice.

Whereas

   L.insert(i, item)

doesn't have any of those problems, and again is mostly
self-explanatory.

Python is not Perl. Not every operation that you use more than
once in a blue moon needs to have its own operator.

-- 
Greg


More information about the Python-ideas mailing list