当我尝试跨行中的列进行迭代时,该列在嵌套循环内不会发生变化:
i_rows = 4
i_cols = 3
matrix = [[0 for c in xrange(i_cols)] for r in xrange(i_rows)]
for row, r in enumerate(matrix):
for col, c in enumerate(r):
r[c] = 1
print matrix
观察到的输出
[[1, 0, 0], [1, 0, 0], [1, 0, 0], [1, 0, 0]]
预期产出
[[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]]
我尝试过不同的表达方式,例如xrange()
and len()
我正在考虑切换到 numpy。让我有点惊讶的是,Python 中的二维数组并不像我对这门语言的第一印象那么直观。
目标是一个具有不同整数值的二维数组,稍后我需要对其进行解析以在屏幕上表示 2D 图形。
如何跨列表列表中的列进行迭代?