python中的矩阵操作

python中的矩阵操作,python,matrix,Python,Matrix,我是一名编码初学者,已经尝试了一段时间对矩阵进行操作,但在某一点上被卡住了。 我得到了一个224x224的整数矩阵,需要在该矩阵的8x8块上分别应用一个函数。(28个贴片,每个8x8) 我该怎么做?这里有一种方法: # Just make up a 224x224 matrix Matrix = [ [row*col for col in range(224)] for row in range(224)] def f(m, r, c): for row in range(r, r+8

我是一名编码初学者,已经尝试了一段时间对矩阵进行操作,但在某一点上被卡住了。 我得到了一个224x224的整数矩阵,需要在该矩阵的8x8块上分别应用一个函数。(28个贴片,每个8x8) 我该怎么做?

这里有一种方法:

# Just make up a 224x224 matrix
Matrix = [ [row*col for col in range(224)] for row in range(224)]

def f(m, r, c):
    for row in range(r, r+8):
        for col in range(c, c+8):
            m[row][col] += 1    # whatever operation goes here

def apply_func_to_matrix_by_8(m, f):
    nr = len(m)
    nc = len(m[0])

    for row in range(0, nr, 8):
        for col in range(0, nc, 8):
            f(m, row, col)


apply_func_to_matrix_by_8(Matrix, f)

你认为这对于所有类型的矩阵实现都是一样的吗?python中没有本机矩阵。它是一个整数矩阵。编辑。感谢您提醒这是最不重要的参数。只需计算您的步幅大小,并进行嵌套for循环。对于优化的实现,请检查skimage的“按块查看”(基于numpy数组)。您所说的“矩阵”是什么意思。同样,Python中没有本机矩阵。那么,你说的“矩阵”到底是什么?一个列表列表?某种类型的
numpy
array?它是答案中定义的数组、嵌套列表、字典还是numpy数组?Matrix不是本机python。请澄清你的问题。