on slices, negative indices, which are the equivalent procedures?
Michael F. Stemper
michael.stemper at gmail.com
Thu Aug 5 15:12:48 EDT 2021
On 05/08/2021 12.35, Jack Brandom wrote:
> The FAQ at
>
> https://docs.python.org/3/faq/programming.html#what-s-a-negative-index
>
> makes me think that I can always replace negative indices with positive
> ones --- even in slices, although the FAQ seems not to say anything
> about slices.
>
> With slices, it doesn't seem to always work. For instance, I can
> reverse a "Jack" this way:
>
>>>> s = "Jack Brandom"
>>>> s[3 : -13 : -1]
> 'kcaJ'
>
> I have no idea how to replace that -13 with a positive index. Is it
> possible at all?
I don't think so, because the second number (in this case -13) is the
index before which you stop. For example:
>>> s
'Jack Brandom'
>>> s[3:0:-1]
'kca'
>>> s[3:1:-1]
'kc'
>>>
However, since you want to go through item 0 in the original string,
you don't need a number there at all:
>>> s[3::-1]
'kcaJ'
>>>
Or, it you want to be more explicit, you could separately grab the
substring and then reverse it:
>>> s[:4][::-1]
'kcaJ'
>>>
Does any of this help?
--
Michael F. Stemper
If it isn't running programs and it isn't fusing atoms, it's just
bending space.
More information about the Python-list
mailing list