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.]])

 

posted @ 2018-07-20 11:07  Abraham_Xu  阅读(10448)  评论(1编辑  收藏  举报