“那些令人真正發瘋作狂的事起源往往十分簡單。”
那是一個溫度正好的天氣,即使坐在安靜的屋裏,也很舒適。
V 還在編寫一個Python算法,涉及到矩陣的運算,好在編寫的過程中沒遇到太大的問題。
接着一行錯誤警示映入了V 的大腦:
IndexError: index 8429 is out of bounds for axis 1 with size 8429
“問題不大”,這是V 最開始的想法,“類似於Java的數組越界。”
經過簡單的修改,卻還是出現同樣的錯誤。
這時V 仔細檢查了一遍,前面定義了兩個格式都爲8*8429的矩陣,而且後面爲矩陣賦值的動作也相同,並且另一矩陣的賦值操作在前卻沒有報錯!?
經過再次的慎重檢查、修改,另一報錯映入了腦海:
IndexError: index 8428 is out of bounds for axis 1 with size 8429
簡單一想,這句話的意思就相當於8428>=8429
???
“這是你逼我的”。V想,經過註釋“#”,果然沒有了報錯。於是繼續寫了其他的部分。
“此事已上升到了玄學問題,需要第二天經過重啓編輯器軟件,甚至重啓電腦才能解決這個問題。”
然而,事情卻沒那麼簡單。同樣的錯誤在重啓後再次出現。
I QUIT !
事情的轉機之初甚至比你後來所想的還要早很多。
V 發現在定義第二個矩陣時,誤將8*8429定義爲了8*8249.
而第一個映入腦海的錯誤爲:
IndexError: index 8249 is out of bounds for axis 1 with size 8249
這也就更好理解第二個報錯:
IndexError: index 8428 is out of bounds for axis 1 with size 8249
簡而言之:
就是我設置錯了矩陣的格式,並且看錯了錯誤警示。
處理數據時應當注意此類數字錯誤,尤其是矩陣。