擅长:python、mysql、java
<p>假设矩阵</p>
<pre><code>Matrix = [
[1, 2,3],
[3, 4,5],
[5,6,7]
]
</code></pre>
<p>分为3个功能:</p>
^{pr2}$
<p>运行这个</p>
<pre><code>for i in get_all_sub_mat(Matrix):
print i
</code></pre>
<p>或者更简单,放在一个函数中:</p>
<pre><code>def get_all_sub_mat(mat):
rows = len(mat)
cols = len(mat[0])
def ContinSubSeq(lst):
size=len(lst)
for start in range(size):
for end in range(start+1,size+1):
yield (start,end)
for start_row,end_row in ContinSubSeq(list(range(rows))):
for start_col,end_col in ContinSubSeq(list(range(cols))):
yield [i[start_col:end_col] for i in mat[start_row:end_row] ]
</code></pre>