Velocity Reviews > Python + strange == cool

# Python + strange == cool

Maboroshi
Guest
Posts: n/a

 09-28-2004
All fine and good <below>

>>> x = ["list1", "list2", "list3", 4, 5, 6, 7]
>>> x[1:-1]

['list2', 'list3', 4, 5, 6] # All good here

this struck me as weird I had an idea to mess around with lists <below>

>>> x[1:+1]

[]

now when I do this
>>> x[1:+2]

['list2']

Does this puzzle anyone else

of course I am a total novice so I have no idea what I am doing here if

Phil Frost
Guest
Posts: n/a

 09-28-2004
The second number in the slice is the index of the last element to be
included, exclusive. It is not an offset from the first index. Adding
the "+" does nothing; that just means "positive". As the laws of
mathematics dictate, "+n = n"; the unary + is just for symmetry with the
unary '-'.

On Tue, Sep 28, 2004 at 04:21:12PM -0700, Maboroshi wrote:
> All fine and good <below>
>
> >>> x = ["list1", "list2", "list3", 4, 5, 6, 7]
> >>> x[1:-1]

> ['list2', 'list3', 4, 5, 6] # All good here
>
> this struck me as weird I had an idea to mess around with lists <below>
>
> >>> x[1:+1]

> []
>
> now when I do this
> >>> x[1:+2]

> ['list2']
>
> Does this puzzle anyone else
>
> of course I am a total novice so I have no idea what I am doing here if

Maboroshi
Guest
Posts: n/a

 09-28-2004
Ok that makes sense

Cheers

Phil Frost wrote:
> The second number in the slice is the index of the last element to be
> included, exclusive. It is not an offset from the first index. Adding
> the "+" does nothing; that just means "positive". As the laws of
> mathematics dictate, "+n = n"; the unary + is just for symmetry with the
> unary '-'.
>
> On Tue, Sep 28, 2004 at 04:21:12PM -0700, Maboroshi wrote:
>
>>All fine and good <below>
>>
>>>>>x = ["list1", "list2", "list3", 4, 5, 6, 7]
>>>>>x[1:-1]

>>
>>['list2', 'list3', 4, 5, 6] # All good here
>>
>>this struck me as weird I had an idea to mess around with lists <below>
>>
>>>>>x[1:+1]

>>
>>[]
>>
>>now when I do this
>>
>>>>>x[1:+2]

>>
>>['list2']
>>
>>Does this puzzle anyone else
>>
>>of course I am a total novice so I have no idea what I am doing here if

Dave Brueck
Guest
Posts: n/a

 09-28-2004
Maboroshi wrote:
> All fine and good <below>
>
> >>> x = ["list1", "list2", "list3", 4, 5, 6, 7]
> >>> x[1:-1]

> ['list2', 'list3', 4, 5, 6] # All good here
>
> this struck me as weird I had an idea to mess around with lists <below>
>
> >>> x[1:+1]

> []
>
> now when I do this
> >>> x[1:+2]

> ['list2']
>
> Does this puzzle anyone else
>
> of course I am a total novice so I have no idea what I am doing here if

Look at section 3.1.2 of the Python tutorial (look at the whole tutorial if you
haven't already ). The part explaining the above starts like this:

"The best way to remember how slices work is to think of the indices as pointing
between characters..."

(note that 3.1.2 is talking about strings, but lists, tuples, and strings are
all sequences and share many properties. Also, working with strings might make
it easier to grasp what's going on, and once you've got those down then applying
the principles to lists and tuples will be a breeze)

-Dave

Andrea Griffini
Guest
Posts: n/a

 09-29-2004
On Tue, 28 Sep 2004 19:30:35 -0400, Phil Frost <(E-Mail Removed)>
wrote:

>the unary + is just for symmetry with the
>unary '-'.

I was bitten in my first python program by writing

++x

Andrea