学习目标
掌握列表排序、切片、列表推导式,实现简单搜索。
-
练习任务:
- 对第8天生成的姓名列表进行升序排序(
sort())。 - 使用切片获取列表的前两个姓名和最后两个姓名。
- 使用列表推导式生成一个新列表,包含所有长度大于3的姓名。
- 实现一个模糊搜索功能:输入关键字,返回所有包含该关键字的姓名(使用循环和
in判断)。 - 思考:如何让搜索忽略大小写?实现它
- 对第8天生成的姓名列表进行升序排序(
函数len
用于查看列表元素的个数
语法:len(list)
函数max
返回列表元素的最大值
语法:max(list)
函数min
返回列表元素最小值
语法:min(list)
函数list
将元组或字符串转化为列表
语法:list(seq)
count方法
用于统计某个元素在列表中出现的次数
语法:list.count(obj)
obj:要统计元素的对象
index方法
从列表中找出某一个值第一个匹配的索引位置
语法:list.index(obj)
reverse方法
反向列表中的元素
语法:list.reverse()
sort方法
对原列表进行排序
语法:sort(key=none,reverse=false)
key:主要用来进行比较的元素,决定按什么规则排序
reverse:决定升序还是降序,默认false升序
sorted函数
对所有可迭代对象进行排序操作
与sort相比sorted返回的是一个新的list,在不改变原来的基础上进行操作的。
语法:sorted(itobj,key=none,reverse=false)
itobj:可迭代对象
key:主要用来进行比较的元素,只有一个参数,具体函数参数从可迭代对象中获取,指定可迭代对象的一个元素来进行排序
reverse:排序规则,true降序,false升序(默认)
返回值:重新排序的列表
copy方法
复制列表
切片
使用“[::]”来进行切片操作
第一个数代表切片开始位置,第二个数是结束位置(不包含),第三个数是步长
遍历列表
使用for循环遍历
列表推导式
[expression for item in iterable if condition]
expression:表达式部分,表示列表中每个元素的值
for item in iterable:循环部分,生成列表中的每一个元素
if condition:过滤部分,将不符合条件的元素过滤
还有一种变式:`[表达式 if 条件1 else 条件2 for 元素 in 可迭代对象]