[Python-Dev] list splicing

Karl Chen quarl at NOSPAM.quarl.org
Mon Sep 19 03:50:14 CEST 2005

Hi, has anybody considered adding something like this:
    a = [1, 2]
    [ 'x', *a, 'y']

as syntactic sugar for
    a = [1, 2]
    [ 'x' ] + a + [ 'y' ].

- This is a common operation
- To me, the splicing form looks much better than the
  concatenation form
- It can be implemented more efficiently than a bunch of list
- This would be similar to the "apply" feature [ foo(*a) ].  The
  '*' operator is reminiscent of dereferencing operators in
  C-derived languages.  Alternatively it could be '@', like perl's
  implicit array splicing, and Lisp's ',@' in backquoted lists.
- (I know "splicing" traditionally refers to something else in
  Python, but other languages refer to this as splicing, and the
  English definition of "splice" applies better to this.)

Karl 2005-09-18 18:26

More information about the Python-Dev mailing list