![Python数据分析从小白到专家](https://wfqqreader-1252317822.image.myqcloud.com/cover/745/38209745/b_38209745.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.2.3 索引、切片和迭代
一维数组也是一维矩阵,同样也是一个列表,所以n维矩阵(n维数组)依然支持索引、切片和迭代操作,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_87_1.jpg?sign=1739287145-L1r0QN7ggo5yUnYoTSc2qvhj7j8HARvj-0-93c0e28a02bfdbeb50352bf588f63b5e)
输出结果:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_87_2.jpg?sign=1739287145-iMUjHDrBIvvF8cshEsTt7OPPYmxxm1tH-0-f74a614527f3c9b4a399237b7ed02cd4)
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_88_1.jpg?sign=1739287145-E5YXyLyMBY3uBHvjaVXm1xLBRKdlEOpR-0-23a69c7da13162f5d86b1183bf02c530)
多维矩阵中的每个维度都有独立的一组序号,所以二维矩阵可以用两个数进行索引;n维矩阵可以用n个数进行索引,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_88_2.jpg?sign=1739287145-GyNHpLCXcrPeHvxtOQyHmaDk8IoqeJFe-0-f44db4443e8cd1ac54e207cd6142b68b)
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_89_1.jpg?sign=1739287145-lZ1jTCBlmMszegUK3I0HMXRpuc0uo5Z7-0-a29509658615fcbb4eb918d958d8a7a5)
输出结果:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_89_2.jpg?sign=1739287145-xs2YqLMFNDtusrLdFtILKqjmMyAIdOCv-0-bac487567f3f570376038f7e5d99a11d)
从上面的示例中可以看出:索引和切片都适用于多维数组/矩阵,且打印二维数组可以用一个逗号隔开,打印一整行可以省略逗号。在讲解多维数组/矩阵的迭代之前,先来介绍n维数组/矩阵打印时的省略规则,可以用一个点“.”来代替成对的“,:”,个数不限,示例如下:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_89_3.jpg?sign=1739287145-y9RljicEk4MkaLPMBvZwkearWyWh2k4d-0-7e9658eefb56c4320506f42bc5ea20ac)
输出结果:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_90_1.jpg?sign=1739287145-T5l4jFBdbknBkO3AIlNmEwAxl2gbGCZt-0-93c992e87007940b533baf3d2d5e11d6)
下面来看多维数组/矩阵的迭代。既然矩阵有多个维度,那么在迭代的时候会根据哪个维度迭代呢?答案是明确的,自然是最外层的维度。可能读者还会有一个疑问,如何迭代内层的维度呢?请看下面的示例:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_90_2.jpg?sign=1739287145-ZUHvwXCqqy0UZgmDGBpoA5YVlJvFA7Ig-0-935f2d5f8ebb0adac3a428de435054b4)
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_91_1.jpg?sign=1739287145-iTXVJQqGd7VOdxTA64cVThufC0uSQ4JK-0-3ae7a321afb30c52822ebc2656f8afda)
输出结果:
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_91_2.jpg?sign=1739287145-pOVJBZl4vCLX6qytLTk2pkZHBnYa8KAV-0-f398ebda547dd796cef1ded377f22cc9)
![](https://epubservercos.yuewen.com/ED1E6A/20118172701012106/epubprivate/OEBPS/Images/40923_92_1.jpg?sign=1739287145-HqL79mjYEAy1AiGqEhndVUA9AQxZmD42-0-5f0a2b72b426ed3253150d08418c7dc5)
可以发现,flat方法是将一个n维数组展开成一维后,再将结果打印出来,而默认遍历的是第一个维度,即最外层的维度。