擅长:python、mysql、java
<p>您可以像这样使用<code>numpy</code>:</p>
<pre><code>import numpy as np
# Array 9 by 9
x = np.arange(81).reshape((9, 9))
# -1 is important for the indexing
desired_position = np.array([[1,1], [1,5], [1,9], [5,1], [5,5], [5,9], [9,1], [9,5], [9,9]]) - 1
#print(desired_position)
for dp in desired_position:
pos = []
p1, p2 =dp[0] - 1, dp[0] + 2
if p1 <= 0:
p1, p2 = 0, 3
elif p2 >= x.shape[0]:
p2, p1 = x.shape[0], x.shape[0] - 3
pos.append([p1, p2])
p1, p2 = dp[1] - 1, dp[1] + 2
if p1 <= 0:
p1, p2 = 0, 3
elif p2 >= x.shape[1]:
p2, p1 = x.shape[1], x.shape[1] - 3
pos.append([p1, p2])
print(x[pos[0][0]:pos[0][1],pos[1][0]:pos[1][1]])
</code></pre>
<p>请阅读numpy的<a href="https://docs.scipy.org/doc/numpy-1.10.0/user/basics.indexing.html" rel="nofollow noreferrer">docs</a>了解更多信息</p>
<p>我编辑了代码,所以现在它可以工作了</p>