从这一章开始,我们学习Python中的序列。Python中的序列包括列表list、元组tuple、字典dict、集合set,这是一种类似于数组,但比数组功能要强的数据结构。Python之所以功能强大,离不开这些功能强大、已操作的数据结构。
注:我这里句句不离数据结构,其实我之前是一个标准的C、C++程序员。也许我不是一个技术高超的Python老师,但是业余老师有业余老师的视角,可以看到一些专业老师看不到的地方,比如说,业余老师不会教条地教语法,而是喜欢用代码示例来告诉你一个内置数据结构的用法,更好地来提高学习效果。
一、为什么要用list
列表list在Python序列中是一种较自由的数据结构,比如说它可以方便我们存储数据,而且数据类型可以不一样,长度不固定,只要计算机内存足够,list的长度自由。这就是Python相比于C、C++自由的地方,一个列表list搞定C、C++多个数组的功能。
二、list的用法
1.创建list
创建一个空list,lst = list()或者lst = [ ]
2.尾部增加元素
list中可以使用append()方法在list尾部增加元素,示例如下:
3.+运算符操作
list列表中的+运算操作,可以达到增加列表的内容。但是+运算之后,lst1的id值变化了,其实就是重新创建了新的lst1。
注:大家想,如果lst1的内容较多的时候,进行+操作,将影响操作效率。
4.extend方法
如果想不改变list的id值,而又想增加list的内容,+运算不可行,只能使用extend()方法。代码示例如下:
5.insert方法
使用 insert()方法可以将指定的元素插入到列表对象的任意指定位置。
注:这样会让插入位置后面所有的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用。类似发生这种移动的函数还有:remove()、pop()、del(),它们在删除非尾部元素时也会发生操作位置后面元素的移动。
代码示例如下:
6.del方法
list的del方法用于删除list指定位置上的元素,数据元素较多时不建议反复使用。
del()在删除非尾部元素时也会发生操作位置后面元素的移动。
7.pop方法
pop()删除并返回指定位置的元素,如果未指定位置则默认操作列表最后一个元素。
8.remove方法
删除首次出现的指定元素,若不存在该元素抛出的异常。
9.索引访问
list可以使用[index]来访问list中的元素。
10.count方法
count()方法可以计算list中元素出现的次数,以此来查找元素是否重复。
11.排序
sort()方法对list进行排序
13.reversed()返回迭代器
reversed()方法以此来逆序排列list