回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我正在寻找一些内置的NumPy模块或一些向量化的方法来获得这样的<code>n</code>矩阵。这里唯一的关键是给定行的最后一个元素作为下一行的第一个元素。你知道吗</p>
<pre><code>n = 2
# array([[1, 2],
# [2, 3]])
n = 3
# array([[1, 2, 3],
# [3, 4, 5],
# [5, 6, 7]])
n = 4
# array([[1, 2, 3, 4],
# [4, 5, 6, 7],
# [7, 8, 9, 10],
# [10, 11, 12, 13]])
</code></pre>
<p><strong>我尝试使用列表理解。同样可以用扩展for循环语法编写。你知道吗</p>
<pre><code>import numpy as np
n = 4
arr = np.array([[(n-1)*j+i for i in range(1, n+1)] for j in range(n)])
# array([[ 1, 2, 3, 4],
# [ 4, 5, 6, 7],
# [ 7, 8, 9, 10],
# [10, 11, 12, 13]])
</code></pre>