Jerry Sievers wrote:
1. what the Ellipsis object or ... syntax is used for
2. what a slice [..., j:k:l] does

My understanding is that the Ellipsis object is intended primarily for Numeric/numarray use. Take a look at:


http://stsdas.stsci.edu/numarray/numarray-1.1.html/node26.html

3. how slices are applied to object of mapping types

The short answer is that they aren't. Slices aren't hashable, so dicts can't handle them:


>>> d = {}
>>> d = {1:'a', 2:'b'}
>>> d[1:2]
Traceback (most recent call last):
  File "<interactive input>", line 1, in ?
TypeError: unhashable type
>>> hash(slice(1, 2))
Traceback (most recent call last):
  File "<interactive input>", line 1, in ?
TypeError: unhashable type

You can, however handle them if you write your own mapping type:

>>> class M(object):
...     def __getitem__(self, x):
...         if isinstance(x, slice):
...             return x.start, x.stop, x.step
...         else:
...             return x
...
>>>
>>> m = M()
>>> m[1]
1
>>> m[1:2]
(1, 2, None)

Hope this helps!

Steve
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to