鱼C论坛

 找回密码
 立即注册
查看: 5480|回复: 18

[学习笔记] Python学习笔记13(2)-----列表高级用法及应用 New!

[复制链接]
发表于 2020-8-1 17:01:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 极品召唤兽 于 2020-8-2 14:01 编辑

记得一键三连哦QWQ


zip() 函数上场的时间啦。它的作用是将两个长度相同的列表合并起来,相同位置的元素会被一一组对,变成一个元组。结果返回一个组合好的打包对象,需要我们再用 list() 函数转换回列表。
# 用 zip() 将两个列表合并
zipped = zip(midterm_rank, scores)

# 将结果转换回列表后,赋值给 zipped_rank
zipped_rank = list(zipped)

# 来看看结果
print(zipped_rank)
# 输出:[('妙玉', 100), ('薛宝钗', 100), ('贾元春', 96), ('王熙凤', 93), ('林黛玉', 92), ('贾巧姐', 91), ('史湘云', 90), ('贾迎春', 86), ('贾宝玉', 85), ('李纨', 84), ('贾探春', 81), ('秦可卿', 79), ('贾惜春', 77), ('贾琏', 75)]

enumerate() 函数最难的地方,可能不是用法,而是这个函数名……可能是目前我们学起来最难背的英文单词之一啦。

enumerate”单词本身意思是“枚举、数数”。所以对应的函数功能,就是一个一个地将列表中的元素数出来。它返回的是一个枚举对象,也需要我们用 list() 函数转换回列表。

有了这个函数,我们就可以把原来的排名表 midterm_rank 中,每个同学的具体排名都显示出来了。

要注意:机器还是会从 0 开始数……
# 枚举原排名表后,再转回列表的形式
rank_with_id = list(enumerate(midterm_rank))

print(rank_with_id)
# 输出:[(0, '妙玉'), (1, '薛宝钗'), (2, '贾元春'), (3, '王熙凤'), (4, '林黛玉'), (5, '贾巧姐'), (6, '史湘云'), (7, '贾迎春'), (8, '贾宝玉'), (9, '李纨'), (10, '贾探春'), (11, '秦可卿'), (12, '贾惜春'), (13, '贾琏')]
我们可以手动输入起始数字 1,让结果更符合我们的习惯。

# enumerate()中这次有两个参数,一个为排名列表,一个为起始数字。
rank_with_ID = list(enumerate(midterm_rank, 1))

print(rank_with_ID)
# 输出:[(1, '妙玉'), (2, '薛宝钗'), (3, '贾元春'), (4, '王熙凤'), (5, '林黛玉'), (6, '贾巧姐'), (7, '史湘云'), (8, '贾迎春'), (9, '贾宝玉'), (10, '李纨'), (11, '贾探春'), (12, '秦可卿'), (13, '贾惜春'), (14, '贾琏')]
这下舒服了!强迫症被治好!这样,我们一眼就能看到每个人的实际排名了。

实战

books = ['红楼梦', '三国演义', '水浒传', '西游记']
authors = ['曹雪芹', '罗贯中', '施耐庵', '吴承恩']

# 用 zip() 将两个列表绑定
a = zip(books,authors)

# 转换回列表后打印绑定结果
b = list(a)
print(b)

# 新建 books_favorite 列表,顺序按小贝的喜好来
books_favorite = ['三国演义','西游记','红楼梦',  '水浒传']

# 用 enumerate() 函数枚举结果,从 1 开始
c = list(enumerate(books_favorite,1))

# 转换回列表后打印结果
print(c)

梳理一下今日所学。

在 列表基本运算 一节,我们用 in 判断列表中是否包含某一元素,用 + 将两个列表链接在一起,用 * 将列表元素重复多次生成新列表。

我们学习了新的数据类型——元组,它和列表很相似,但是不支持元素的修改,但支持元素的查询及分片,也支持上面说的三种运算。

zip() 函数 可以合并两个列表,将两个列表中一一对应的元素合并到一个元组中,从而生成一个新的 zip 类型。在 Python 3 中,需要用 list() 函数将上述两种类型转化为列表。

enumerate() 函数 可以给列表中每个元素加上序号,合并到一个元组中,从而生成一个新的 enumerate 类型,同样需要用 list() 函数将其转化为列表。




本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-1 17:02:51 | 显示全部楼层
这里没有一键三连
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-8-1 17:06:11 | 显示全部楼层

你看评分按钮的那个大拇指  像不像真香的一键三连QWQ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 11:24:06 | 显示全部楼层
是一键六连
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 11:24:58 | 显示全部楼层
蹭运气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 11:25:50 | 显示全部楼层

回帖奖励 +1 鱼币

再蹭
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-8-2 13:49:42 | 显示全部楼层

还可以继续蹭哦QWQ
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-2 16:30:49 | 显示全部楼层

哦?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-5 15:01:09 | 显示全部楼层
一键三连是啥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 12:15:57 | 显示全部楼层
本帖最后由 dan维 于 2020-8-13 12:18 编辑

棒棒
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-13 12:21:09 | 显示全部楼层

回帖奖励 +1 鱼币

讲的很清晰啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 19:40:21 | 显示全部楼层

鱼币香不香
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-13 19:44:35 | 显示全部楼层
学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-14 15:47:12 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-27 16:03:28 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-7 00:40:24 | 显示全部楼层
收藏了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-7 10:44:35 | 显示全部楼层

回帖奖励 +1 鱼币

这个有点复杂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-9 11:07:32 | 显示全部楼层
一键三连让我以为走到了某站。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-2 13:16:56 | 显示全部楼层

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-24 07:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表