【问题标题】:How to insert different matrices inside another matrix using a for loop?如何使用 for 循环在另一个矩阵中插入不同的矩阵?
【发布时间】:2020-05-20 21:28:45
【问题描述】:

当我在 output_list 下面运行代码时,输​​出相同的矩阵 n 次。我的目标是创建一个矩阵列表,其中包含不同的值。我应该改变什么?

output_list = []
for i in list_of_matrix:
    grid[3:6, 3:6] = i
    output_list.append(grid)

【问题讨论】:

  • i每次迭代都在同一个地方,你想做什么?请给出示例初始值和预期输出

标签: python for-loop variables


【解决方案1】:

每次将grid 附加到列表时,实际上只是将引用附加到单个对象(如指针;“Python 中的一切都是指针”)。因此,每次追加到列表时都需要创建 grid 的新副本:

output_list = []
for i in list_of_matrix:
    grid[3:6, 3:6] = i
    output_list.append(grid.copy())    # Changed this line.

另外,我可能会建议使用更具描述性的变量名称(主要是因为当大多数人看到 i 时,他们认为这是一个索引,而不是矩阵)。也许是这样的:

grid_list = []
for subgrid in list_of_matrices:
    grid[3:6, 3:6] = subgrid
    grid_list.append(grid.copy())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    相关资源
    最近更新 更多