回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我需要使用numpy在另一个矩阵中插入一个矩阵</p>
<p>我需要插入的矩阵如下所示:</p>
<pre><code>tetraminos = [[0, 1, 0],
[1, 1, 1]]
</code></pre>
<p>而另一个矩阵是这样的:</p>
<pre><code>board = numpy.array([
[6,0,0,0,0,0,0,0,0,0],
[6,0,0,0,0,0,0,0,0,0]
])
</code></pre>
<p>我实际使用的代码是:</p>
<pre><code>board[0:0 + len(tetraminos), 0:0 + len(tetraminos[0])] = tetraminos
</code></pre>
<p>我得到的问题矩阵是:</p>
<pre><code>wrong_matrix = numpy.array([
[[0,1,0,0,0,0,0,0,0,0],
[1,1,1,0,0,0,0,0,0,0]]
])
</code></pre>
<p>而预期的结果是:</p>
<pre><code>expected_result = numpy.array([
[6,1,0,0,0,0,0,0,0,0],
[1,1,1,0,0,0,0,0,0,0]
])
</code></pre>
<p>错误在于,由于矩阵包含0,当我将其插入新矩阵时,我丢失了第一行的第一个值(数字6),而我想保留它</p>
<p>完整代码:</p>
<pre><code>import numpy
if __name__ == '__main__':
board = numpy.array([
[6,0,0,0,0,0,0,0,0,0],
[6,0,0,0,0,0,0,0,0,0]
])
tetraminos = [[0, 1, 0], [1, 1, 1]]
board[0:0 + len(tetraminos), 0:0 + len(tetraminos[0])] = tetraminos
print(board)
expected_result = numpy.array([
[6,1,0,0,0,0,0,0,0,0],
[1,1,1,0,0,0,0,0,0,0]
])
exit(1)
</code></pre>