第9天:python列表进阶

0 阅读2分钟

学习目标

掌握列表排序、切片、列表推导式,实现简单搜索。

  • 练习任务

    1. 对第8天生成的姓名列表进行升序排序(sort())。
    2. 使用切片获取列表的前两个姓名和最后两个姓名。
    3. 使用列表推导式生成一个新列表,包含所有长度大于3的姓名。
    4. 实现一个模糊搜索功能:输入关键字,返回所有包含该关键字的姓名(使用循环和 in 判断)。
    5. 思考:如何让搜索忽略大小写?实现它

函数len

用于查看列表元素的个数
语法:len(list)

image.png

函数max

返回列表元素的最大值
语法:max(list)

image.png

函数min

返回列表元素最小值
语法:min(list)

image.png

函数list

将元组或字符串转化为列表
语法:list(seq)

image.png

count方法

用于统计某个元素在列表中出现的次数
语法:list.count(obj)
obj:要统计元素的对象 image.png

index方法

从列表中找出某一个值第一个匹配的索引位置
语法:list.index(obj)

image.png

reverse方法

反向列表中的元素 语法:list.reverse()

image.png

sort方法

对原列表进行排序 语法:sort(key=none,reverse=false) key:主要用来进行比较的元素,决定按什么规则排序 reverse:决定升序还是降序,默认false升序

sorted函数

对所有可迭代对象进行排序操作
与sort相比sorted返回的是一个新的list,在不改变原来的基础上进行操作的。
语法:sorted(itobj,key=none,reverse=false)
itobj:可迭代对象
key:主要用来进行比较的元素,只有一个参数,具体函数参数从可迭代对象中获取,指定可迭代对象的一个元素来进行排序
reverse:排序规则,true降序,false升序(默认)
返回值:重新排序的列表

image.png

copy方法

复制列表

image.png

切片

使用“[::]”来进行切片操作

image.png 第一个数代表切片开始位置,第二个数是结束位置(不包含),第三个数是步长

遍历列表

使用for循环遍历

image.png

列表推导式

[expression for item in iterable if condition] expression:表达式部分,表示列表中每个元素的值 for item in iterable:循环部分,生成列表中的每一个元素 if condition:过滤部分,将不符合条件的元素过滤

image.png 还有一种变式:`[表达式 if 条件1 else 条件2 for 元素 in 可迭代对象]

练习

对第8天生成的姓名列表进行升序排序(sort())。

image.png

使用切片获取列表的前两个姓名和最后两个姓名。

image.png

使用列表推导式生成一个新列表,包含所有长度大于3的姓名。

image.png

实现一个模糊搜索功能:输入关键字,返回所有包含该关键字的姓名(使用循环和 in 判断)。

image.png

思考:如何让搜索忽略大小写?实现它

image.png