>>> z = array([1,2,3,4]) >>> z[[1]] array([1]) >>> z[(1,)] 1 I'm just curious: What is the motivation for this differing behavior? Is it a necessary consequence of, for example, the following: >>> z[z<3] array([1,2])