欢迎光临散文网 会员登陆 & 注册

Pyhton少儿编程(6)可变序列——列表

2023-09-01 10:26 作者:小晓少儿编程  | 我要投稿

一、什么是列表


列表是Python中内置的有序的、可变序列。列表中的所有元素用逗号分隔,所有元素放在一对中括号[]里。

所谓序列,是指一块可以存放多个数值的连续内存空间,这些值按照一定顺序排列,可通过每个值所在的位置编号(即“索引”)访问它们。



二、列表的创建


常见的创建方式有两种:

1、直接创建。将元素用逗号分隔,并且用中括号[]括起来就可以了。


2、用list命令创建。list()既可以创建列表,也可以将元组或者字符串转换成列表类型。



三、序列的常用操作


1、序列的访问:

序列中的每一个元素都是有序号的,我们将这里的序号称之为“索引”。序列的索引可以是正向的,也可以是反向的。正向索引时,第一个元素的序号是0,从左往右的序号依次为:0, 1, 2, 3, 4, 5...。反向索引时,第一个元素的序号是-1,从右往左的序号依次为:-1, -2, -3, -4, -5...。

操作方法如下:序列名[索引号]。例如:访问列表test_list的第一个元素,记作:test_list[0];访问第四个元素,记作:test_list[3];访问倒数第二个元素,记作:test_list[-2];访问倒数第六个元素,记作:test_list[-6]

注意:访问获取元素的时候,索引号不能越界!也就是说,索引号不能能超出列表的索引范围。


2、序列的嵌套:

如果序列中的元素是一个序列,也就是说,序列中嵌套着其它序列,这种情况叫作序列嵌套。

可以使用索引号访问列表T的第3个元素,由于这个元素恰巧也是一个序列,所以可以继续使用索引号获取内层序列的任何一个元素。操作方法如下:序列名[外层索引号][内层索引号]


3、序列的截取(切片操作):

可以使用索引号获取序列中的某一个元素,也可以使用索引号获取序列中的某一段元素,也就是序列的截取,也叫“切片操作”。

操作方法如下:序列名[起始索引号:结束索引号:步长],截取起始索引号到结束索引号之间的一段元素,步长表示截取的元素间隔及截取结果的输出方向,当步长为正数时,正向输出,步长为负数是,逆向输出。默认步长为1。

注意:截取的元素包含起始索引号,不包含结束索引号(前包后不包)。

步长为正数的切片操作:

访问单个元素的时候,还可以使用反向索引,那么,截取序列的时候,能不能也使用反向索引呢?

步长为负数的切片操作:

注意:切片操作的时候,索引号可以越界,但是,在实际使用的时候,最好不要越界!


4、获取序列长度:

使用len()方法获取序列长度,即序列中的元素个数。


5、检出元素是否包含在序列中:

使用比较运算符in判断某个元素是否包含在序列中。如果包含,返回True,否则返回False。


6、找出序列中的最大元素:

使用max()方法查找序列中的最大元素。

注意:当序列中的所有元素都是数字时,max()方法返回最大的数字;当序列中所有的元素都是字符串类型时,max()方法将按照Unicode编码顺序返回编码最大的元素;当序列中既有数字,又有其它类型的元素时,max()方法是无法运算的,会报错。


7、找出序列中的最小元素:

使用min()方法查找序列中的最小元素,使用方法与注意事项,与max()方法一样。


8、序列求和运算:

使用sum()方法计算序列中所有元素的总和。既然是求和,要求序列中的所有元素是数字类型。


9、序列的加法运算:

使用加法运算符 可以将两个或多个序列进行加法运算,注意:这里的加法运算不是数字求和,而是合并操作。


10、序列的乘法运算:

使用乘法运算符 可以执行乘法运算,乘以数字几表示将序列元素重复几次。



四、列表的专有操作


1、增加元素:

(1)使用append()方法,将元素添加到列表末尾。

操作方法:列表名.append(obj),接收一个参数,将对象obj添加到列表末尾。

(2)使用insert()方法,将元素添加到指定位置。

操作方法:列表名.insert(index, obj),接收两个参数,将对象obj插入到列表的index索引位置。


2、删除元素:

(1)使用del命令删除元素或整个列表。

操作方法:del  列表名[索引号],删除列表中指定索引号的元素。如果不加索引号,直接使用:del  列表名,可以删除整个列表。

(2)使用pop()方法,删除并返回指定下标(即索引号)的元素。

操作方法:列表名.pop(index),删除并返回下标为index的元素,index默认为-1,如果不指明index,默认删除并返回最后一个元素。

(3)使用remove()方法,删除列表里第一次出现指定值的元素。

操作方法:列表名.remove(value),删除列表中第一次出现值为value的元素,如果列表中没有值为value的元素,就会报错。

(4)使用clear()方法,只删除所有元素,保留空列表。

操作方法:列表名.clear(),不需要参数。


3、更新元素:

获取到列表中的某个元素,直接赋值,就可更新该元素的值。

操作方法:列表名[index] = value,将value赋值给列表索引号为index的元素。如果想同时更新多个元素的值,可以使用切片操作。


4、查找元素:

(1)使用index()方法,查找并返回目标元素下标,如果没有找到,会报错。

操作方法:列表名.index(value, start, stop),在列表中查找值为value的元素,找到之后,返回目标元素的索引号。start为开始查找位置,stop为结束查找位置,默认start为0,stop为列表末尾。

(2)使用count()方法,统计并返回元素出现的次数。

操作方法:列表名.count(value),统计值为value的元素在列表中出现的次数,如果value不存在,返回0。


5、列表排序:

(1)使用sort()方法,对列表进行原地排序,不返回新列表。

操作方法:列表名.sort(cmp=None, key=None, reverse=False),cmp和key参数不做要求,reverse代表是否翻转,默认步翻转。

注意1:原地排序是在原列表地址上进行排序操作,是直接对原列表进行操作,所以,原列表的值就成了排序后的值。

注意2:与max()和min()方法一样,sort()方法也要求列表中的元素为同一类型。

(2)使用sorted()方法排序,会生成新列表。

操作方法:sorted(列表名, cmp=None, key=None, reverse=False),参数cmp和key不做要求,reverse表示是否对排序结果进行翻转,默认不翻转,注意事项与sort()方法一样。



五、模拟考题


-->参考答案往下翻<--


<完>



-->参考答案<--

1~5:BABDC

6~8:BBC

Pyhton少儿编程(6)可变序列——列表的评论 (共 条)

分享到微博请遵守国家法律