一、列表简介
如果说在 Python 语言中找一个最优秀的数据类型,那无疑是列表,如果要在推荐一个,那我选择元组,本篇主要学习列表,元组可以看成不能被修改的列表
列表是一种非常灵活的数据结构,可以弥补前文字符串类型的很多不足
列表是包含0个或者多个元素的有序序列,属于序列类型, 是可变序列,也是一种可存储任意数据类型的容器,用中括号([])表示开始和结束,内部各元素使用英文逗号(,)分隔,每个元素都可称为项目,并且每个元素都有一个索引,也被称为下标
特点:
a.列表的长度和内容是可变的(可以自由的对列表中的元素进行,增加、删除或者替换)
b.列表没有长度限制
c.列表中的元素类型可以不同(可以是基本数据类型,也可以是列表、元组、字典、集合以及其他自定义类型的对象)
二、创建列表
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:
运行结果:
三、列表的读取
读取列表中最重要的概念是下标,也叫做位置或者索引。下标从 0 开始计数,即列表内第一项元素的索引是 0,例如下述代码,读取数字 2。
运行结果:
四、列表操作
列表是一个动态容器,其支持对其元素的增加,删除,修改,查询,合并等操作,用到的都是字典对象的方法,基本操作的方法名如下所示:
append():末尾追加元素;
extend():末尾追加列表,也可以理解为两个列表合并;
insert():在指定位置插入元素;
copy():列表复制;
clear():清空列表;
count():统计列表指定元素个数;
pop():删除并返回指定下标对应的元素;
remove():删除列表中指定元素;
index():获取指定元素的下标;
reverse():反转元素;
sort():对列表元素进行排序。
1.列表元素添加方法
1).append(obj):在列表的末尾添加新的元素、对象,示例代码如下所示:
2).insert(index,obj):可以将指定的对象添加到指定位置,示例代码如下所示:
对比一下上述两个方法的差异,可以看到 append() 仅能在里列表末尾追加元素,而 insert() 方法可以在任意位置插入元素,即 insert() 方法的第一个参数为索引,表示插入位置。
3).extend(seq):在列表末尾一次性追加另一个序列中的多个值(用新列表拓展原来的列表),示例代码如下所示:
运行结果:
2.列表删除元素
列表删除元素:del命令pop()方法remove()方法
1).del命令:根据索引删除列表中的元素(删除一个或者多个),示例代码如下所示:
2).pop([obj])方法:用于移除列表中的一个元素(默认最后一个),并且返回该元素的值 (删除一个),示例代码如下所示:
使用 pop() 方法删除列表元素,默认从尾部删除,并返回被删除的元素
3).remove(obj)方法:移除列表中某个值的第一个匹配项,示例代码如下所示:
remove() 方法无返回值,并且该方法只删除第一个匹配到的元素,也就是当列表中有多个目标元素时,只有最先匹配到的元素被删除
3.列表排序
列表排序用到的方法是 sort(),该方法默认按照 ASCII 进行增序或者减序排列
1).reverse()方法:用于将列表中的元素反向存放(修改原列表值),示例代码如下所示:
2).sort方法:用于对原列表进行排序(默认为升序排序),排序后的新列表会覆盖原列表,示例代码如下所示:
key:传递给key参数的是一个函数,它指定可迭代对象中的每一个元素来按照该函数进行排序
reverse: 表示是否反向排序,默认为False
3).sorted函数:排序方式与sort一样,但是sorted函数会返回一个新列表,对原列表不进行修改,示例代码如下所示:
iterable:表示可迭代对象,在这里就是列表名
4.查找元素与计数
count(obj)方法:统计指定元素在列表中出现的次数,示例代码如下所示:
5.循环遍历列表
为了能有效地逐一输出列表中的数据,可以使用while和for循环来便利输出列表。
while循环遍历列表:
for循环遍历列表: