Submatriz em uma matriz

Como faço para que em uma matriz eu consiga pegar submatrizes com elementos da matriz? Não consigo pensar em um algoritmo que resolva isso.
A entrada seria uma matriz da forma:
[[2,3,4,5],
[3,4,5,6],
[4,5,6,7]]
e a saída seriam submatrizes 2x2 essa matriz.

Você já tentou utilizar os dicionários? Se você quiser usa-lo com índices sem mutações.

lista1 = [2,3,4,5]
lista2 = [3,4,5,6]
lista3 = [4,5,6,7]

matriz = {'lista1':lista1,'lista2':lista2,'lista3':lista3}

depois você faz a iteração:

for i in matriz:
    print(matriz['lista1'])