- Python从入门到项目实践(超值版)
- 聚慕课教育研发中心
- 774字
- 2021-03-24 19:37:32
4.2 序列通用操作
我们知道了序列中有不同的集合存在,例如列表、元组、字符串都是不同的序列,但是对于所有序列而言,都有通用的操作,本节先介绍一些序列的通用操作,之后再单独介绍两个典型的序列:列表和元组。
4.2.1 序列的索引和切片
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P62_38013.jpg?sign=1739662563-9NTDZa26zlHMcApePqfNTZow5VAnhBEi-0-135e75345fcadb16abdb4d641a3e58f1)
前面提到过,序列中的元素是按照位置编号顺序排序的,可以用图4-1来描述序列中元素与位置的关系。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P62_37924.jpg?sign=1739662563-cHy1pEQxUW0Lf4IpfPiLhGjVMkUTl6ff-0-eebec8a31dbb61b0f83ae0e83bff7daf)
图4-1 序列中的元素与位置
提取元素索引时使用的是索引数,查询的一般格式是:序列名[索引数]。正索引数是从左往右,从0开始;负索引数是从右往左,从-1开始。因此通过索引数,可以实现正索引和负索引。注意索引数不能超过序列总长度(元素总个数)。
【例4-1】索引。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P62_78743.jpg?sign=1739662563-RFbnZM2WUyZeg2vG5qHm7E8iFMJJbffF-0-530caa1513426fef4c383537e52b4487)
程序运行结果如图4-2所示。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P62_37959.jpg?sign=1739662563-x6BFcwuTSj3fq7wl9J7UwpJxI67fZqN7-0-d277f94a25261d77bc78cac2d70405e7)
图4-2 索引运行程序
切片就是提取序列中某一范围内的元素,提取的元素无论有多少,都会重新组成一个新的序列。分片的格式是:序列名[起始索引:中止索引:步长]。其中,切片从起始所引出的元素开始,到中止索引数的前一个数为止。步长是非零的整数,作为索引的间隔,当步长为正数时,从左到右提取元素,当步长为负数时,从右到左提取元素,如果没有设定步长的参数则默认为1。若索引段中不设定起始索引或中止索引,则取全部。
【例4-2】切片。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P62_81332.jpg?sign=1739662563-vqHh7KKAAK8cSL9jf0pf99ZUzwhJFXT5-0-684e3c39c39461aa30a9af76a12bb061)
程序运行结果如图4-3所示。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P62_38006.jpg?sign=1739662563-lS8CSqaBgVURepTGsvmGWyS77zWvLZg5-0-cf52f21a77ac7e3159484eb372d98f67)
图4-3 切片运行程序
4.2.2 序列计算
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P63_38128.jpg?sign=1739662563-g8fuQWg2QPqmLljfCaJf5tWgj4J0iQ8p-0-0169081e01c6d55892daf392db1528d6)
序列可以进行相加、相乘的运算。
使用“+”可以实现两个序列的相加、拼接,相加时的序列必须是同类型的。
使用“*”可以将序列进行重复,得到一个新的序列。
【例4-3】序列计算。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P63_78744.jpg?sign=1739662563-3OSJLzDo0K5vwyiXDCperGFoeFNge0uM-0-4a8d40bd3660b30e1690db98fff03d83)
程序运行结果如图4-4所示。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P63_38058.jpg?sign=1739662563-tqCqozOJakPXUUAllpNhdOK0TRggL8ul-0-9eae531c1c0ab2f0f1cc5e9db16002c5)
图4-4 序列计算运行程序
4.2.3 序列相关操作的函数
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P63_38134.jpg?sign=1739662563-TiPTcigOo1knl70WoARBc2YzFAOgOeec-0-ed4245e981c09f603a42b49b1be61123)
Python中提供了一些函数方法帮助用户操作序列。
- 使用in()和not in()两个函数可以查询某元素是否在序列中,返回结果是True或False;
- 使用len()函数可以获取序列的总长度;
- 使用max()和min()函数可以获得序列中最大和最小的元素;
- 使用sum()函数可以计算元素只为数值的序列的和。
【例4-4】序列函数。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P63_78747.jpg?sign=1739662563-E3DAsWci72ybQ2H5AxnmTeZ1QODicgbN-0-18a57e7d060b1c274bc8c457b818e5a0)
程序运行结果如图4-5所示。
![](https://epubservercos.yuewen.com/CDC5B1/15825991504141406/epubprivate/OEBPS/Images/Figure-P63_38119.jpg?sign=1739662563-PfNdAiPrMSV7hZnZyPunO5nCU1a0jMS0-0-916656e21bd6c209e5bff7a928b679a4)
图4-5 序列函数运行程序