def change_value(my_matrix: list, increase: int):
for row in my_matrix:
for column in row:
column += increase
return my_matrix
matrix = [[1,2,3],[4,5,6],[7,8,9]]
change_value(matrix, 3)
在上面的代码中,为什么不实际增加矩阵中每个项目的值?通过调试器,我可以看到该行和列都在正确的值处,并且值确实增加了,但是在原始矩阵中保持不变。
我正在解释这样做的正确方法,我不是在寻找解决方案,而是对导致这种行为的逻辑/内部工作的解释。
column += increase
这实际上只会增加迭代器。您实际上想增加矩阵的元素,看起来像这样:
column += increase