问题介绍
最近用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]