Python多维数组切片
1. array如果维度多了,就变成ndarray。
2. list切片类似C数组,多维度分别用”[]“索引,单维度切片用”:“,如:
>>> a [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>> a[1][1:3] [5, 6]
但是这样做第二个维度索引不起作用:
>>> a[1:3][0:2]
[[4, 5, 6], [7, 8, 9]]
把list当作ndarray去slice也是不对的:
>>> a[1:3,0:2] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers or slices, not tuple
3. ndarray切片用一个”[]“里面加逗号的方式,如:
>>> a=np.round(np.random.rand(3,3)*10)
array([[9., 5., 1.], [3., 1., 5.], [2., 5., 5.]]) >>> a[1:3,0:2] array([[3., 1.], [2., 5.]])
这样做第二个维度索引不起作用:
>>> a[1:3][0:2] array([[3., 1., 5.], [2., 5., 5.]])
Feel free to contact me on professional issue.
liveinspring@hotmail.com