How do you reverse the elements in a sequence or
along one dimensions in an array
(like the `reverse`

function
in IDL)?

If the sequence is a list, just use the `reverse`

method:

```
>>> a = [1, 2, -6, 4, -8]
```

>>> a.reverse()

>>> a

[-8, 4, -6, 2, 1]

Tuples, of course, are immutable, so they can't be reversed in place like lists.

For a `Numeric`

array,
there isn't a `reverse`

method.
Instead you do this through extended indices:

```
>>> a = Numeric.array([1, 2, -6, 4, -8])
```

>>> a = a[::-1]

>>> a

array([-8, 4, -6, 2, 1])

For a 2-D array:

```
>>> a = Numeric.array([[1, 2, -6, 4, -8], [-2, 3, 7, 9, -1]])
```

array([[ 1, 2, -6, 4, -8],

[-2, 3, 7, 9, -1]])

>>> b = a[:,::-1]

>>> b

array([[-8, 4, -6, 2, 1],

[-1, 9, 7, 3, -2]])

>>> c = a[::-1,:]

>>> c

array([[-2, 3, 7, 9, -1],

[ 1, 2, -6, 4, -8]])

The syntax of extended indexing is `start:stop:stride`

.
When the `start`

and `stop`

values are left
out, the interpreter automatically specifies the entire sequence.
A stride of `-1`

decrements element index by 1.
Remember in Python sequence indexing the `start`

index
is included while the `stop`

index is excluded.
Extended array indexing is supported on lists and
tuples starting with Python 2.3.

Martelli (2003) gives a comprehensive and concise discussion of sequence slicing (pp. 47, 207-308).