# [PYTHON MATRIX-SIG] A problem with slicing

**Jim Fulton, U.S. Geological Survey
**
jfulton@usgs.gov

*Thu, 14 Sep 1995 11:13:03 -0400*

On Thu, 14 Sep 1995 10:55:32 -0400
Guido van Rossum said:
>* > The only *minor* change proposed, which I could live without is to
*>* > allow the "," to generate tuples inside of []s, just as it does
*>* > outside of []. In fact, I view the current non-recognition of tuples
*>* > in []s as an inconsistency. For example:
*>* [...]
*>* > so why isn't:
*>* >
*>* > a[1,2,3]
*>* >
*>* > equivalent to:
*>* >
*>* > a[(1,2,3)]
*>*
*>* Because there's also
*>*
*>* a[1:2]
*>*
*>* while there is no equivalent
*>*
*>* a(1:2)
*>*
*>* I could either tweak the priorities so that
*>*
*>* a[1,2:3,4]
*>*
*>* is parsed as
*>*
*>* a[(1,2) : (3,4)]
*
Can't be, ":" wants integers.
>* or so that it is parsed as
*>*
*>* a[1, (2:3), 4]
*
Can't be, (2:3) is not a valid expression, so it can't yield a valid
element of the tuple.
>* but neither appears very natural to me.
*
Good. :-)
>* I guess my problem is that ":" and "," have "fuzzy" priorities, and
*>* while everybody agrees that e.g. "*" binds tighter than "+", if you
*>* ask a few people in the street, or even computer programmers, you'd
*>* get confused answers.
*
But ":" only makes sense for sequences and "," only makes sense for
mappings, so ":" and "," should never appear together in []s. I don't
think this is a precedence issue. I see your point that ":"
complicates things a bit. You not only have to recognize ",", but you
have to make sure that it is not used in conjunction with ":".
Jim
=================
MATRIX-SIG - SIG on Matrix Math for Python
send messages to: matrix-sig@python.org
administrivia to: matrix-sig-request@python.org
=================