def multislice(lst, slices):
 if atomp(lst):
  return lst
 return [multislice(sublst, slices[1:]) for sublst in lst[slices[0]]]

def multislice ( lst , slices ) : if atomp ( lst ) : return lst return [ multislice ( sublst , slices [ 1 : ] ) for sublst in lst [ slices [ 0 ] ] ]
multi-dimensional slicing: slices is a list of slice objects .