2

我想将矩阵传递给函数(作为参数)但出现错误说

TypeError: list indices must be integers, not tuple

这是我的代码

def question_1_b(arr):
    for i in range(4):
        for j in range(4):
            block[4*i+j] = arr[i,j]
    return block

question_1_b([[70,52,13,67],[90,48,57,26],[43,45,67,89],[88,65,44,23]])
4

1 回答 1

0

要解决嵌套列表,请为外部和内部列表使用单独的索引:

block[4*i+j] = arr[i][j]

i, j形成一个元组(逗号使它成为一个元组,而不是括号)。

您可以直接循环遍历矩阵列表,使用该enumerate()函数block索引计算生成索引:

for i, outer in enumerate(arr):
    for j, value in enumerate(outer):
        block[4 * i + j] = value
于 2013-10-27T13:17:51.560 回答