Given an array, return the reversed version of the array (a different kind of reverse though), you reverse portions of the array, you'll be given a length argument which represents the length of each portion you are to reverse.
E.g
  if after reversing some portions of the array and the length of the remaining portion in the array is not up to the length argument, just reverse them.
`selReverse(array, length)`
- array - array to reverse
- length - length of each portion to reverse
Note : if the length argument exceeds the array length, reverse all of them, if the length argument is zero do not reverse at all.
from itertools import zip_longest,chain

def sel_reverse(arr,l):
    if l==0: return arr
    return [e for e in chain.from_iterable(t[::-1] for t in zip_longest(*[iter(arr)]*l)) if e is not None]
from itertools import zip_longest,chain

def sel_reverse(arr,l):
    if l==0: return arr
    return [e for e in chain.from_iterable(t[::-1] for t in zip_longest(*[iter(arr)]*l)) if e is not None]