You are reading a single comment by @lf and its replies. Click here to read the full conversation.
  • still not entirely sure what the :: does in grid[::d], apart from take every d'th y

    The slice syntax is

    grid[start:stop:stride]
    

    and you can omit any, so start defaults to zero, stop to -1 (which means the end, since negative indices count backwards), and stride defaults to 1.

    • grid[start] just gives you the element at index start (ie, the half-open interval [start,start+1) in maths language),
    • [start:stop] gives you the sub-sequence/sub-string with default stride 1,
    • [start::stride] would give you every stride'th element from start to the end, etc.
  • Thanks - i had never seen the stride part of the syntax, always just sliced [x:y]

  • It's one of those nice little things they really paid attention to. For example, you can reverse any sequence by using a negative stride.

About

Avatar for lf @lf started