Python学习笔记13(2)-----列表高级用法及应用 New!
本帖最后由 极品召唤兽 于 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() 函数将其转化为列表。
这里没有一键三连 永恒的蓝色梦想 发表于 2020-8-1 17:02
这里没有一键三连
你看评分按钮的那个大拇指像不像真香的一键三连QWQ 是一键六连 蹭运气 再蹭 革命年 发表于 2020-8-2 11:25
再蹭
还可以继续蹭哦QWQ 极品召唤兽 发表于 2020-8-2 13:49
还可以继续蹭哦QWQ
哦? 一键三连是啥? 本帖最后由 dan维 于 2020-8-13 12:18 编辑
棒棒 讲的很清晰啊{:10_297:} dan维 发表于 2020-8-13 12:21
讲的很清晰啊
{:10_256:}鱼币香不香 学习 极品召唤兽 发表于 2020-8-13 19:40
鱼币香不香
真香{:10_297:} {:10_334:} 收藏了 这个有点复杂 一键三连让我以为走到了某站。 赞
页:
[1]