【发布时间】:2017-02-11 05:20:55
【问题描述】:
我已将我的矩阵初始化为 ...
mid_mtx = [ [(0, "")]*len(s2) ]*len(s1)
我后来创建了一个包含两个值 [6, "Middle" ] 的列表,称为 middle_ij_val。
我想用 middle_ij_val 更新 mid_mtx[i][j]。 所以我做到了......
mid_mtx[i][j] = middle_ij_val
但是,这会输出...
[(0, ''), [6, 'Middle'], (0, ''), (0, ''), (0, ''), (0, ''), (0, ''), (0, '')]
[(0, ''), [6, 'Middle'], (0, ''), (0, ''), (0, ''), (0, ''), (0, ''), (0, '')]
[(0, ''), [6, 'Middle'], (0, ''), (0, ''), (0, ''), (0, ''), (0, ''), (0, '')]
[(0, ''), [6, 'Middle'], (0, ''), (0, ''), (0, ''), (0, ''), (0, ''), (0, '')]
[(0, ''), [6, 'Middle'], (0, ''), (0, ''), (0, ''), (0, ''), (0, ''), (0, '')]
[(0, ''), [6, 'Middle'], (0, ''), (0, ''), (0, ''), (0, ''), (0, ''), (0, '')]
我将如何对其进行编码,以便如果我执行 mid_mtx[1][1] 它只会更改特定位置?
【问题讨论】:
-
mid_mtx[i][j] = middle_ij_val 在迭代矩阵中所有元素的双 for 循环中。迭代的 row 是外部 for 循环,col 是内部循环。