-
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 indexstart
(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 everystride
'th element fromstart
to the end, etc.
-
This is great, just doing the challenges is already good for my programming skills but info like this and things previously posted by @Greenbank are even better. Helps me move away from hacky solutions to proper solutions.
were you saying my function was very C-like?
i've actually just re-written it and it's almost bang on the same as yours with enumerate - had seen a few people talking about that so tried to get that working. still not entirely sure what the :: does in grid[::d], apart from take every d'th y.
my function:
edit: was also confused as to why you can't print an enumerate object until you put it into a list. but guess that's a conversation for data structures... i should really do a bit more formal learning