# Get all the diagonals from a matrix a = np.array() diags = [a[::-1,:].diagonal(i) for i in range(-a.shape[0]+1,a.shape[1])] diags.extend(a.diagonal(i) for i in range(a.shape[1]-1,-a.shape[0],-1))