大家好,本文将围绕python中列表的常用方法展开说明,python列表的常用方法是一个很多人都想弄明白的事情,想搞清楚python中列表的方法需要先了解以下几个事情。
如果说在Python语言中找一个最优秀的数据类型,那无疑是列表
列表是一种非常灵活的数据结构,可以弥补前文字符串类型的很多不足。
正式学习前,还需要记住两个英文单词,列表(list),元组 (tuple)python创意作品代码。
列表学习要点
先看一遍列表定义:
列表是可变序列,也是一种可存储任意数据类型的容器,用中括号([]
)表示开始和结束,内部各元素使用英文逗号(,
)分隔,每个元素都可称为项目,并且每个元素都有一个索引,也被称为下标。
列表的声明语法
声明一个列表,可以参考下述几种格式。
使用空中括号 [] 声明一个空列表
1 2 |
|
声明包含一个元素的列表
1 2 |
|
声明包含多个元素的列表
1 2 |
|
声明包含多个不同数据类型元素的列表
1 2 |
|
声明一个列表中包含列表
1 2 |
|
列表的读取
读取列表中最重要的概念是下标,也叫做位置或者索引。下标从 0 开始计数,即列表内第一项元素的索引是 0,例如下述代码,读取数字 2。
1 2 |
|
列表操作
列表是一个动态容器,其支持对其元素的增加,删除,修改,查询,合并等操作,用到的都是字典对象的方法,基本操作的方法名如下所示:
append()
:末尾追加元素;extend()
:末尾追加列表,也可以理解为两个列表合并;insert()
:在指定位置插入元素;copy()
:列表复制;clear()
:清空列表;count()
:统计列表指定元素个数;pop()
:删除并返回指定下标对应的元素;remove()
:删除列表中指定元素;index()
:获取指定元素的下标;reverse()
:反转元素;sort()
:对列表元素进行排序。
列表元素添加方法
从上述清单中,可以查看到列表追加元素,有两种办法可以实现,其一是使用 append()
方法,其二是使用 insert()
方法,示例代码如下所示:
1 2 3 4 |
|
对比一下上述两个方法的差异,可以看到 append()
仅能在里列表末尾追加元素,而 insert()
方法可以在任意位置插入元素,即 insert()
方法的第一个参数为索引,表示插入位置。
列表元素查找方法
在列表中查找某一元素,使用 index()
方法实现,该方法的语法格式如下所示:
1 |
|
其中 my_list
是待查找目标列表,value
表示待查找的值,start
和 stop
为可选参数,表示开始查找的索引值和结束查找的索引值,该方法当查找到元素后,会返回第一个找到的元素索引位置,例如下述代码,会返回 3
。
1 2 3 |
|
如果该方法没有在目标列表中找到元素,会报错,错误类型为 ValueError
。
除 index()
方法外,列表的读取其实也是元素查找方式,例如读取下标 2 的元素,代码如下:
1 2 3 |
|
还可以使用成员运算符 in
,对列表进行判断,关于成员操作符的更多知识,后期总结运算符的时候,会详细说明。以下代码会返回 True
,即表示数字 2 在列表中。
1 2 3 |
|
在列表中还有一个重要知识点,即列表切片,学习该知识点需要先牢牢掌握列表按索引读取相关语法,切片的语法格式如下:
1 2 3 |
|
可以看到上述第二行代码,在原列表读取的规则之上,格式变为了 [1:3:2]
,将其转换为中文语法说明如下所示:
1 |
|
使用切片的时候,英文冒号不能缺少,起始索引为必选项,结束索引和步长为可选项。
如果理解困难,最好的办法就是反复用代码校验。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
上述代码如何理解已经在注释中进行说明,重点要掌握的切片知识点整理如下:
一首打油诗送给大家~
切片不能丢冒号 结束步长可不要 默认索引都加一 左闭右开要牢记
列表元素的修改和删除
前文已经掌握了列表的读取,将读取到的元素重新赋值就是列表的修改,例如下述代码。
1 2 3 |
|
列表元素删除 在 Python 中,提出了多种列表元素删除的方式,本小节学习三个列表元素删除的方法,即 clear()
,pop()
,remove()
,除此之外还可以使用 del()
函数对列表元素进行删除。
1 2 3 4 |
|
使用 pop()
方法删除列表元素,默认从尾部删除,并返回被删除的元素。
1 2 3 4 5 |
|
pop()
方法中可以传递一个 index
值,该值表示下标值,即删除指定位置的元素,与之对应的是 remove()
方法的参数,该值表示待删除的目标元素,例如在列表中删除元素 5,使用的代码如下:
1 2 3 4 5 |
|
测试之后,可以发现 remove()
方法无返回值,并且该方法只删除第一个匹配到的元素,也就是当列表中有多个目标元素时,只有最先匹配到的元素被删除。
del()
函数可以删除列表中指定元素,也可以直接删除列表对象,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
列表元素合并
使用 extend()
方法可以将列表进行合并:
1 2 3 4 |
|
注意 extend()
方法不会生成新的列表。
列表合并也可以使用加号(+
) 实现,该语法会产生一个新的列表。
1 2 3 4 |
|
列表元素顺序变化
列表排序用到的方法是 sort()
,该方法默认按照 ASCII 进行增序或者减序排列,测试代码如下所示:
1 2 3 |
|
在 sort()
方法中也有 2 个参数,格式如下:
1 |
|
参数 key
为可选参数,可以传入一个函数名,该函数会作用与列表中的每一项元素,例如将列表中每一项元素都转换为小写字母。
1 2 3 |
|
sort()
方法会对原列表进行排序,如果想生成一个新列表,可以使用 sorted()
函数,代码如下:
1 2 3 |
|
除此之外,还可以使用 reverse()
方法。
1 2 3 |
|