在python函数中传递矩阵

时间:2013-10-27 13:14:59

标签: python list

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

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]])

1 个答案:

答案 0 :(得分:0)

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

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

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

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

for i, outer in enumerate(arr):
    for j, value in enumerate(outer):
        block[4 * i + j] = value