def iter1d(a):
    return itertools.chain.from_iterable(numpy.rollaxis(a, axis, a.ndim).
        reshape(-1, dim) for axis, dim in enumerate(a.shape))
Итерация по всем одномерным подмассивам многомерного массива