問題介紹
最近用python來處理數據的時候,常常遇到這樣的錯誤:
TypeError: list indices must be integers, not tuple
仔細檢查才發現,常常是矩陣和列表的索引給搞混淆了,我們常常將數據保存在一個二維的列表中,如下:
data=[[1,2,3,4],
[2,1,3,4],
[1,0,0,1]]
如果數據的對應列表示的是某一種特徵,那麼我們常常習慣這樣的方式來獲取數據:
feature1=data[:,0]
這樣就會出現上述的錯誤,因爲列表的索引必須是整數,而這裏是tuple類型(:,1),所以出現了錯誤,只有矩陣才能通過這樣的方式索引,因此我們常常需要將數據轉換爲矩陣:
data=mat([[1,2,3,4],
[2,1,3,4],
[1,0,0,1]])
feature1=data[:,0]