2013-10-27 151 views
2

我想傳遞一個矩陣的功能(作爲參數),但出現了一個錯誤說傳遞矩陣函數在python

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

回答

0

爲了解決一個嵌套列表,使用單獨的指數對外部和內部列表:

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

i, j形式的元組(逗號毫安kes它是一個元組,而不是括號)。

你可以只循環直接在矩陣列表,使用enumerate() function生成用於block指數計算指數:

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