概念理解
索引即通过一个无符号整数值获取数组里的值。
切片即对数组里某个片段的描述。
一维数组
一维数组的索引
一维数组的索引和Python列表的功能类似:
![801db7001a5c9b61856c4ea9c3ab7491.png](https://i-blog.csdnimg.cn/blog_migrate/1ffd0073e59f23b4a896dd82f85213ef.jpeg)
一维数组的切片
一维数组的切片语法格式为array[index1:index2],意思是从index1索引位置开始,到index2索引(不包括index2)位置结束的一段数组。例如:
![6d4acc10d576561566c5497f5d7f84de.png](https://i-blog.csdnimg.cn/blog_migrate/0c950a29629a864eb43b6585639c6832.jpeg)
当把一个值赋值为一个切片时,该值会作用于此数组片段里每一个元素,例如:
![4d98ca48b161aa56cd49be715087d4a7.png](https://i-blog.csdnimg.cn/blog_migrate/f63e1b6f0d7bf4d12d78615bb1465f3c.jpeg)
二维数组
二维数组的索引
当以一维数组的索引方式访问一个二维数组的时候,获取的元素不在是一个标量而是一个一维数组。例如:
![bcf5995c5c79c774a359752609442095.png](https://i-blog.csdnimg.cn/blog_migrate/09adcf48091c371d4a33a395f06eb93d.jpeg)
既然二维数组的索引返回是一维数组,那么就可以按照一维数组的方式访问其中的某个标量了,例如:
![f0840038c1002fcb851c9006e8fa96aa.png](https://i-blog.csdnimg.cn/blog_migrate/4f22fd7e208a6a16f886299ffa702d53.jpeg)
二维数组的切片
既然二维数组的索引对应的是一维数组,则二维数组的切片是一个由一维数组组成的片段:
![b30a690b88c058d32696e70fb7291aa1.png](https://i-blog.csdnimg.cn/blog_migrate/7c184743550c0e6e2fe3346e68e147f0.jpeg)
多维数组
多维数组的索引
在一维数组里,单个索引值返回对应的标量;
在二维数组里,单个索引值返回对应的一维数组;
则在多维数组里,单个索引值返回的是一个纬度低一点的数组,例如:
![9a8a9b5d9992de0dad75eb3882352b1b.png](https://i-blog.csdnimg.cn/blog_migrate/bc76e9f266d67dc67e6a2a76f64937f2.jpeg)
布尔值索引
布尔值索引指的是一个由布尔值组成的数组可以作为一个数组的索引,返回的数据为True值对应位置的值,例如:
![d144271d2273c2d7b3acdf4582939df5.png](https://i-blog.csdnimg.cn/blog_migrate/ae43fc2258f21e417f327c621007a379.jpeg)
花式索引
花式索引指的是用整数数组进行索引。例如:
![bff7e29ba469afebb2b54dbb8c5e61ce.png](https://i-blog.csdnimg.cn/blog_migrate/a7468f71a3d47c8b532c87ce276b4765.jpeg)