[Python-ideas] unpacking in index expression

Alexander Heger python at 2sn.net
Wed Apr 6 18:26:39 EDT 2016

I was trying to unpack an array or tuple in index expression (python
3.5.1) but this failed.
I think for consistency of language use it would be desirable to allow
that as well.  Below an example of my attempt indexing a numpy array,

>>> import numpy as np
>>> x = np.arange(12).reshape(3,-1)
>>> x[*[0,1]]
SyntaxError: invalid syntax

>>> x[*(0,1)]
SyntaxError: invalid syntax

for the case of numpy, the latter works as intended w/o unpacking

>>> x[(0,1)]

which is equivalent to the desired behaviour of unpacking

>>> x[0,1]

but for the list case the behaviour is different (as intended by design)

>>> x[[0,1]]
array([[0, 1, 2, 3],
       [4, 5, 6, 7]])

My proposal hence is to allow unpacking in index expressions as well.
I do not have a use case for dictionary / keyword unpacking; this
would look awkward anyway.


More information about the Python-ideas mailing list