4
我已經定義下面的函數:TypeError:__getitem __()只需要2個參數(給出2個)TypeError? (Python 3中)
def eigval(matrix):
a = matrix[0, 0]
b = matrix[0, 1]
c = matrix[1, 0]
d = matrix[1, 1]
c1 = (a + d) + sqrt((4 * b * c) + ((a - d)**2))
c2 = (a + d) - sqrt((4 * b * c) + ((a - d)**2))
return c1/2, c2/2
它被創建以找到一個2×2矩陣的特徵值。我使用它在矩陣上迭代運行Jacobi算法。傳入的矩陣是一個使用元組作爲鍵來表示位置並作爲值浮動的字典。在塊(一個與A)的第一行
TypeError: __getitem__() takes exactly 2 arguments (2 given)
:此功能將正常工作約6次迭代,但我會得到一個。
我完全被這個困惑,因爲就像我說的,它可以正常工作約6次運行然後停止。
編輯:下面是一個創建的那種矩陣的我會通過在一個函數: (鑑於矩陣將爲每個迭代不同)
def create():
matrix = {}
matrix[0, 0] = 2
matrix[0, 1] = 1
matrix[1, 0] = 1
matrix[1, 1] = 2
return matrix
任何幫助,不勝感激! (P.S.第一篇文章在這裏)
燁,元組的關鍵是字典。感謝您及時的回覆。我只是不明白它是如何工作6次,然後像這樣停止 – user2281223
給出一個完整的例子是有幫助的 - 我們可以真正運行一個例子來測試(給我們一些顯示問題的示例數據)。 –
你能告訴我們一個樣本矩陣嗎?我沒有看到在這個代碼中會失敗的地方,所以它可能在其他地方。 –