![Python程序设计案例教程:从入门到机器学习(微课版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/597/26793597/b_26793597.jpg)
上QQ阅读APP看书,第一时间看更新
2.2 列表和元组
列表是Python中使用最频繁的数据类型。系统为列表分配连续的内存空间。
2.2.1 列表定义与列表元素
1.列表的定义
列表定义的一般形式为:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P23_14509.jpg?sign=1739233392-KhmkDe5sFDuPln3ieVirtek6xsMIcmap-0-56447c44e5d9f0cec71c33a11f30dcae)
说明:
(1)列表名的命名规则跟变量名一样,不能用数字开头。
(2)方括号中的元素之间用逗号分隔。
(3)当列表增加或删除元素时,内存空间自动扩展或收缩。
(4)列表中元素的类型可以不相同,它支持数字、字符串,可以包含列表(称为嵌套列表)。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P23_5764.jpg?sign=1739233392-ienHZci7LtK5KOuoOcxAFksl24H4OKHN-0-5e8bd02a88ebe03b799ac71a0a01a5af)
2.列表中元素的访问
(1)列表元素用“列表名[下标]”表示。
例如,有列表
a = [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
其元素分别为
a[0] = 0; a[1] = 1; …; a[9] = 9;
(2)用“列表名[起始下标:结束下标+1]”表示列表的片段(列表的部分元素)。
例如:设有列表
a = [ 0, 1, 2, 3, 'red', 'green', 'blue']
用交互方式访问其列表的部分元素。
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P24_14517.jpg?sign=1739233392-sXb6WLgPzbi8t0yeNIQdl8rOTD4uaCGp-0-2efbef6bd428bc6eac51b501268303c4)
2.2.2 列表的操作函数
1.添加元素
有三个函数可以在列表中添加元素append()、extend()和insert()。
(1)用append()函数在列表末尾添加元素
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P24_14519.jpg?sign=1739233392-9hqCCvIbKCiY0an2MKGl7U4stjzDr1s4-0-16e88ff68554c97a10aec85271aabcc8)
(2)用extend()函数将另一个列表的元素添加到本列表之后
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P24_14521.jpg?sign=1739233392-ipLSqGJinLS9kfSHsvZ8VLMHzbEgXDl0-0-8cfcc8c26f1329133e8c2140ea52f8aa)
(3)用insert()函数将元素插入到列表中指定的某个位置
使用insert()函数的格式为:
insert(下标位置, 插入的元素)
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14523.jpg?sign=1739233392-WLf0BFVJ5XtOLRkv6VniOpH4IAJ0U0Is-0-665591fafd59143eefdcebeaf2dc806c)
2.删除元素
(1)用del命令删除列表中指定下标的元素
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14525.jpg?sign=1739233392-Yhhwekupz61A7ZjmmB9neVZUB4NDCZ52-0-d388bac1f687a219ae529811d0445431)
(2)用pop()函数删除列表中指定下标的元素
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14527.jpg?sign=1739233392-R3lg9TEhCVUqARHrjDgEoKM1jyhgjwYE-0-d7a214aa57d84fdb13cd79364dae6217)
(3)用remove(x)函数删除列表中所有值为'x'的元素
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14529.jpg?sign=1739233392-h4VtN9r2IJY9aEqpVoHimoIizAQCMMsI-0-34c5cb7461d75bdd9fef0b6af14272de)
3.查找元素位置
用index()函数可以确定元素在列表中的位置。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14531.jpg?sign=1739233392-INbta7FYIpALzBrKiMZHcZN7A19CvB4g-0-facef36460566e20125cdd745269f552)
4.对列表元素排序
用sort()函数可以对列表元素进行排序。sort()函数默认为按升序(从小到大)排序,若要按降序(从大到小)排序,则使用参数reverse=True。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P26_14534.jpg?sign=1739233392-nFCLo9nIgWDcvmTcPkLPVjpQajet2XIf-0-c5e1ecbbf544bf8429e5612ebc4b769e)
5.清空列表
用clear()函数可以清空列表中的元素。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P26_14536.jpg?sign=1739233392-GNWsIXNxsUBr24uUQ9fpKRqS6noO2sbZ-0-58b5806795e87cd8789979f68101e06a)
2.2.3 元组
元组和列表一样,也是一种元素序列。元组是不可变的,元组一旦创建,就不能添加或删除元素,元素的值也不能修改。
1.元组的创建
用一对括号创建元组。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P26_14539.jpg?sign=1739233392-COnC10CsxqKwHFx9Q0kbj0gZKPPiYgK5-0-ca8c6ed3b1162d41ee460024afc35575)
2.元组的删除
只能用del命令删除整个元组,而不能仅删除元组中的部分元素,因为元组是不可变的。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P26_14541.jpg?sign=1739233392-dFH6h9ZQ8y6i3fAdvSCPPKOHe32OGZTo-0-b49dd30311ed5ec56c393c703589f4cc)