python-TypeError: list indices must be integers or slices, not tuple 报错解决方案

问题描述
在取矩阵某一列时会出现报错,例如执行如下代码:

matrix = [[0, 1, 2], [3, 4, 5]]
vector = matrix[:, 0]

出现报错:TypeError: list indices must be integers or slices, not tuple
这是因为此时矩阵存储在列表(list)中,而列表中的每一个元素大小可能不同,因此不能直接取其某一列进行操作

解决方案
可以利用numpy.array函数将其转变为标准矩阵,再对其进行取某一列的操作:

matrix = [[0, 1, 2], [3, 4, 5]]
matrix = numpy.array(matrix)
vector = matrix[:, 0]
print(vector)

可以得到结果:[0, 3]

你可能感兴趣的:(报错处理)