第4 章序列的应用
必背必记
1、切片
切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。通过切片操
作可以生成一个新的序列。实现切片操作的语法格式如下:
sname[start : end : step]
参数说明:
sname:表示序列的名称。
start:表示切片的开始位置(包括该位置),如果不指定,则默认为0。
end:表示切片的截止位置(不包括该位置),如果不指定,则默认为序列的长度。
step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可
以省略。
例:
>>> m = list(range(100)) #通过range函数创建一个0-99的数列,组成一个list赋值给m >>> m [0, 1, 2, 3, 4, 5, 6, ……,99] >>> m[:10] #取前十个数 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> m[-10:] #取后十个数 [90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
>>> m[10:20] #取前11-20个数 [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
>>> m[:10:2] #前十个数中,每2个数取一个 [0, 2, 4, 6, 8]
>>> m[5:15:3] #第6-15个数中,每3个数取一个 [5, 8, 11, 14]
>>> m[::10] #所有的数中,每10个数取一个 [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
>>> m[:] #什么都不写,可以原样复制一个list [0, 1, 2, 3, 4, 5, 6, 7,……,99]
2、检查某个元素是否是序列的成员
在Python中,可以使用in关键字检查某个元素是否为序列的成员,即检查某个元素是否
包含在某个序列中。语法格式如下:
value in sequence
其中,value 表示要检查的元素,sequence 表示指定的序列。
例:
>>>3 in m
True 100 in m
False
3、序列相关内置函数
函数 | 作用 |
list() |
将序列转换为列表 |
str() | 将序列转换为字符串 |
sum() | 计算元素和 |
reversed() | 反向序列中的元素 |
enumerate() | 将序列组合为一个索引序列,多用在for 循环中 |
sorted() | 对元素进行排序 |
4、列表的创建和删除
(1)同其他类型的Python 变量一样,创建列表时,也可以使用赋值运算符“=”直接
将一个列表赋值给变量,语法格式如下:
listname = [element 1,element 2,element 3,…,element n]
(2)创建空列表
在Python 中,也可以创建空列表,例如,要创建一个名称为emptylist 的空列表,可以
使用下面的代码:
emptylist = []
(3)创建数值列表
在Python 中,可以使用list() 函数直接将range()函数循环出来的结果转换为列表。
list()函数的基本语法如下:
list(data)
其中,data 表示可以转换为列表的数据,其类型可以是range 对象、字符串、元组或者
其他可迭代类型的数据。
(4)删除列表
对于已经创建的列表,不再使用时,可以使用del 语句将其删除。语法格式如下:
Del listname
其中,listname 为要删除列表的名称。
5、遍历列表
(1)直接使用for 循环实现
直接使用for 循环遍历列表,只能输出元素的值,语法格式如下:
for item in listname: # 输出item
其中,item 用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可;listname
为列表名称。
(2)使用for 循环和enumerate()函数实现
使用for 循环和enumerate()函数可以实现同时输出索引值和元素内容,语法格式如下:
for index,item in enumerate(listname): # 输出index 和item
参数说明:
index:用于保存元素的索引。
item:用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可。
listname 为列表名称
6、添加列表元素语法格式如下:
listname.append(obj)
上面介绍的是向列表中添加一个元素,如果想要将一个列表中的全部元素添加到另一个
列表中,可以使用列表对象的extend()方法实现。extend()方法的语法如下:
listname.extend(seq)
其中,listname 为要添加元素的列表名称,obj 为要添加到列表末尾的对象。seq 为要添
加的列表。语句执行后,seq 的内容将追加到listname 的后面。
7、对列表进行统计和计算
(1)获取指定元素出现的次数
使用列表对象的count()方法可以获取指定元素在列表中的出现次数。基本语法格式如
下:
listname.count(obj)
(2)获取指定元素首次出现的下标
使用列表对象的index()方法可以获取指定元素在列表中首次出现的位置(即索引)。
基本语法格式如下:
listname.index(obj)
参数说明:
listname:表示列表的名称。
obj:表示要判断是否存在的对象,这里只能进行精确匹配,即不能是元素值的一部分。
(3)统计数值列表的元素和
在Python 中,提供了sum()函数用于统计数值列表中各元素的和。语法格式如下:
sum(iterable[,start])
参数说明:
iterable:表示要统计的列表。
start:表示统计结果是从哪个数开始(即将统计结果加上start 所指定的数),是可选参
数,如果没有指定,默认值为0。
8、对列表进行排序
(1)使用列表对象的sort()方法
列表对象提供了sort()方法用于对原列表中的元素进行排序。排序后原列表中的元素顺
序将发生改变。列表对象的sort()方法的语法格式如下:
listname.sort(key=None,reverse=False)
参数说明:
listname:表示要进行排序的列表。
key:表示指定从每个元素中提取一个用于比较的键(例如,设置“key=str.lower”表
示在排序时不区分字母大小写)。
reverse:可选参数,如果将其值指定为True,则表示降序排列;如果为False,则表示
升序排列,默认为升序排列。
(2)使用内置的sorted()函数实现
在Python 中,提供了一个内置的sorted()函数,用于对列表进行排序。使用该函数进行
排序后,原列表的元素顺序不变。storted()函数的语法格式如下:
sorted(iterable,key=None,reverse=False)
参数说明:
iterable:表示要进行排序的列表名称。
key:表示指定从每个元素中提取一个用于比较的键(例如,设置“key=str.lower”表示
在排序时不区分字母大小写)。
reverse:可选参数,如果将其值指定为True,则表示降序排列;如果为False,则表示
升序排列,默认为升序排列。
9、列表推导式
(1)生成指定范围的数值列表,语法格式如下:
list = [Expression for var in range]
参数说明:
list:表示生成的列表名称。
Expression:表达式,用于计算新列表的元素。
var:循环变量。
range:采用range()函数生成的range 对象。
(2)根据列表生成指定需求的列表,语法格式如下:
newlist = [Expression for var in list if condition]
参数说明:
newlist:表示新生成的列表名称。
Expression:表达式,用于计算新列表的元素。
var:变量,值为后面列表的每个元素值。
list:用于生成新列表的原列表。
condition:条件表达式,用于指定筛选条件。
10、元组的创建和删除
(1)使用赋值运算符直接创建元组
同其他类型的Python 变量一样,创建元组时,也可以使用赋值运算符“=”直接将一个
元组赋值给变量。语法格式如下:
tuplename = (element 1,element 2,element 3,…,element n)
其中,tuplename 表示元组的名称,可以是任何符合Python 命名规则的标识符;elemnet
1、elemnet 2、elemnet 3、elemnet n 表示元组中的元素,个数没有限制。
(2)创建数值元组
在Python 中,可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组。
tuple()函数的基本语法如下:
tuple(data)
其中,data 表示可以转换为元组的数据,其类型可以是range 对象、字符串、元组或者
其他可迭代类型的数据。
(3)删除元组
对于已经创建的元组,不再使用时,可以使用del 语句将其删除。语法格式如下:
del tuplename
其中,tuplename 为要删除元组的名称。
11、集合的创建
(1)直接使用“{}”创建集合
setname = {element 1,element 2,element 3,…,element n}
参数说明:
setname:表示集合的名称,可以是任何符合Python 命名规则的标识符。
elemnet 1,elemnet 2,elemnet 3,…,elemnet n:表示集合中的元素,个数没有限制
(2)使用set()函数创建
在Python 中,可以使用set()函数将列表、元组等其他可迭代对象转换为集合。set()函
数的语法格式如下:
setname = set(iteration)
参数说明:
setname:表示集合名称。
iteration:表示要转换为集合的可迭代对象,可以是列表、元组、range 对象等,也可以
是字符串。如果是字符串,返回的集合将是包含全部不重复字符的集合。
12、集合的添加和删除
(1)向集合中添加元素
向集合中添加元素可以使用add()方法实现,语法格式如下:
setname.add(element)
参数说明:
setname:表示要添加元素的集合。
element:表示要添加的元素内容,只能使用字符串、数字及布尔类型的True 或者False
等,
不能使用列表、元组等可迭代对象。
(2)从集合中删除元素
在Python 中,可以使用del 命令删除整个集合,也可以使用集合的pop()方法或者remove()
方法删除一个元素,或者使用集合对象的clear()方法清空集合,即删除集合中的全部元素,
使其变为空集合。
mr.remove('零基础学Python') # 移除指定元素 print('使用remove()方法移除指定元素后:',mr) mr.pop() # 删除一个元素 print('使用pop()方法移除一个元素后:',mr) mr.clear() # 清空集合 print('使用clear()方法清空集合后:',mr)
英语词汇
背记有法,让英语不再成为编程学习的拦路虎!
sorted |
reversed |