Tutorial creates confusion about slices

Michael Bentley michael at jedimindworks.com
Mon Apr 23 10:13:07 EDT 2007


On Apr 23, 2007, at 7:38 AM, Antoon Pardon wrote:

> The following is part of the explanation on slices in the
> tutorial:
>
> The best way to remember how slices work is to think of the indices as
> pointing between characters, with the left edge of the first character
> numbered 0. Then the right edge of the last character of a string of n
> characters has index n, for example:
>
>   +---+---+---+---+---+
>   | H | e | l | p | A |
>   +---+---+---+---+---+
>   0   1   2   3   4   5
>  -5  -4  -3  -2  -1
>
> This is all very well with a simple slice like:
>
>   "HelpA"[2:4]    =>     "lp"
>
>
> But it give the wrong idea when using the following extended slice:
>
>   "HelpA"[4:2:-1]   =>   "Ap"
>
> So this doesn't result in the reverse of the previous expression while
> the explanation above suggest it does.
>
>
> So I suggest to drop this.

But 'drop' means to let or make (something) fall vertically...  :-)

At that point in the tutorial, step values had not been discussed.   
Just a bit lower down on the page you'll find a link to 'Sequence  
Types' where you'll find an explanation of stepping you'll perhaps  
find more satisfactory.

hth,
Michael

---
"Those who don't understand UNIX are condemned to reinvent it,  
poorly."  --Henry Spencer






More information about the Python-list mailing list