![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=1739272826-ZdnXyfVCVwRBDYmu8U92WFGEUlUPo4Ar-0-5fd028d8cdafb730e4580f094e28b04f)
说明:
(1)列表名的命名规则跟变量名一样,不能用数字开头。
(2)方括号中的元素之间用逗号分隔。
(3)当列表增加或删除元素时,内存空间自动扩展或收缩。
(4)列表中元素的类型可以不相同,它支持数字、字符串,可以包含列表(称为嵌套列表)。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P23_5764.jpg?sign=1739272826-CHdHvGnrqNZaon99YYiUVrlX257JsNH3-0-677e9da7a5bf8065efbc1eec846520c5)
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=1739272826-xtQIpCfY93l1nRgTxJvVPVK401BoucWr-0-c6f5aa14c3c7bfbc3d92efa70d551336)
2.2.2 列表的操作函数
1.添加元素
有三个函数可以在列表中添加元素append()、extend()和insert()。
(1)用append()函数在列表末尾添加元素
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P24_14519.jpg?sign=1739272826-Kr7kanSz75mb5nrsGULAzlycPUI6tBty-0-2bd732d4ef240ce72ca329e1d5aeaa04)
(2)用extend()函数将另一个列表的元素添加到本列表之后
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P24_14521.jpg?sign=1739272826-1Z7zByxBgZluZwB75EFj7OCTbEfeKhSH-0-c3980a4c2e431884fff54ded8785cd7e)
(3)用insert()函数将元素插入到列表中指定的某个位置
使用insert()函数的格式为:
insert(下标位置, 插入的元素)
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14523.jpg?sign=1739272826-NirFTMKIKX3JH9jR8zwfkcu5ycn5oXGE-0-9f0a845bf0c6667a3e82f4b01f688aa4)
2.删除元素
(1)用del命令删除列表中指定下标的元素
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14525.jpg?sign=1739272826-KcTAS8g3pJxYQU4oXf4evb9yAoVZouyk-0-4344bb5dc1ea22b30cfe07afb7a49473)
(2)用pop()函数删除列表中指定下标的元素
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14527.jpg?sign=1739272826-UT6uaF52omgs3p1Lkqf7UNsy4AMRGGYs-0-3507cf7b4ea20af077ae2f583fb7ac91)
(3)用remove(x)函数删除列表中所有值为'x'的元素
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14529.jpg?sign=1739272826-mFwxlwewoPnKxwU49cfWdLHzzTaEqoCy-0-edc1462835b92ddd6263463d6b0f00f1)
3.查找元素位置
用index()函数可以确定元素在列表中的位置。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P25_14531.jpg?sign=1739272826-ECbOFfhMZ36PAw4HYrLLhMfLtX0XSOeA-0-96ec76e773ffc48c8f798bbd1bdd742f)
4.对列表元素排序
用sort()函数可以对列表元素进行排序。sort()函数默认为按升序(从小到大)排序,若要按降序(从大到小)排序,则使用参数reverse=True。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P26_14534.jpg?sign=1739272826-BDKVYVxiNmjxxRlul7Uoz1uO4PvB2EAw-0-ae999608cfc253a7f15f29b616b2655d)
5.清空列表
用clear()函数可以清空列表中的元素。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P26_14536.jpg?sign=1739272826-voSXDKGhGM6wx6pGtmHDEP5nEzbaXI1W-0-3279aa55bcaf4d87118ddbba97b5b7a6)
2.2.3 元组
元组和列表一样,也是一种元素序列。元组是不可变的,元组一旦创建,就不能添加或删除元素,元素的值也不能修改。
1.元组的创建
用一对括号创建元组。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P26_14539.jpg?sign=1739272826-ZcNW4SFX7ftWb3t3FwKxyhQbVayLXNlw-0-6ec3aa3420d94142c522250ec726551a)
2.元组的删除
只能用del命令删除整个元组,而不能仅删除元组中的部分元素,因为元组是不可变的。
例如:
![](https://epubservercos.yuewen.com/0F5810/15253385904109206/epubprivate/OEBPS/Images/Figure-P26_14541.jpg?sign=1739272826-YEZZIUUawxKMSePvTXy8SxD8ifUvIJ9e-0-7d9d8777fdb3380f89a5b6ae7ad9b1a1)