What's the difference between these 2 statements?
tiissa
tiissa at nonfree.fr
Wed Apr 20 15:29:34 EDT 2005
Reinhold Birkenfeld wrote:
> ATSkyWalker wrote:
>
>>What's the difference between these 2 statements?
>>
>>If you have a String s="12345"
>>
>>s[len(s)::-1] = "54321"
>>
>>But
>>
>>s[len(s):0:-1] = "5432"
>>
>>Why? What's the difference? What number then can I use as the end of
>>the slice if I were to supply all 3 parameters?
>
>
> -1.
-len(s) or less.
-1 will return an empty string.
Actually you start from len(s)-1 (len(s) is not an index in s) and you
stop when you reach the index specified (or the end). Since -1 is the
same index as the starting one (-1~>len(s)-1, -2~>len(s)-2,
-len(s)+1~>0), you end up with an empty string.
Therefore you have to try to reach indices lower (due to the negative
step) than the minimum valid index of your list in order to reverse it
fully.
More information about the Python-list
mailing list