[Tutor] Negative step in Python slicing

Sahilpreet Singh s9814246136 at gmail.com
Sat Nov 13 09:06:58 EST 2021


Thanks for your help.This community is best.

On Sat, Nov 13, 2021, 16:40 Alan Gauld <learn2program at gmail.com> wrote:

> Always use Reply-All or Rely-List when responding to tutor emails.
>
> On 13/11/2021 01:13, Sahilpreet Singh wrote:
> > Thanks Alan
> > But can you explain some cases where step is like -2 or -3.
>
> It is exactly like -1 except it steps by the number shown.
> In the same way as 2 or 3 step forward.
>
> The easiest way is to try it in the interpreter:
>
> >>> s = [1,2,3,4,5,6,7,8,9]
> >>> s[::-2]  #every second item in reverse...
> [9, 7, 5, 3, 1]
> >>> s[::-3]  #every third item in reverse...
> [9, 6, 3]
> >>>
>
> As I said...
>
>
> >     Slicing consists of 3 values:
> >
> >     mylist[start:end:step]
> >
> >     where
> >     start defines the first position,
> >     end the last position and
> >     step the number of intermediate entries
> >
> >     ...
> >
>
> >     Each of these parameters has a default value:
> >     start = 0, end = len(mylist), step = 1
> >
> >
> ...
>
>
> >     The step value states how many elements in the original
> >     sequence must be stepped over for each element in the
> >     slice. Thus 2 returns every second element, 3 every third etc.
> >
> >     We can also use negative value to indicate direction
> >     of traversal. Thus -1 indicates an index of the last element,
> >     or a reverse direction of step
> >
> >     Thus mylist[::-1]
> >
> >     returns a reversed list
> >
> >     >>> s[:]
> >     [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
> >
> >     Start at 3 and get every second item
> >     >>> s[3::2]
> >     [3, 5, 7, 9]
> >
> >     Reverse the list
> >     >>> s[::-1]
> >     [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
> >
> >     --
> >
> Alan G
> Author of the Learn to Program web site
> http://www.alan-g.me.uk/
> http://www.amazon.com/author/alan_gauld
> Follow my photo-blog on Flickr at:
> http://www.flickr.com/photos/alangauldphotos
>
>


More information about the Tutor mailing list