Python进阶-----高阶函数zip() 函数
创始人
2024-06-01 05:42:44
0

目录

 前言:

zip() 函数简介        

 运作过程:

应用实例

1.有序序列结合

2.无序序列结合

3.长度不统一的情况


 前言:

                家人们,看到标题应该都不陌生了吧,我们都知道压缩包文件的后缀就是zip的,当然还有rar等类型,在Python中也有这么一个函数叫做zip() 函数,这个函数也是有类似的压缩功能,那下面就一起来看看吧!

zip() 函数简介        

进入Python中,输入help(zip) 获取信息帮助,如图所示: 

函数原型:

zip(iterable……)

说明:iterable……是表示多个可迭代对象 

 运作过程:

在Python中,zip() 函数可以把两个或者两个以上的可迭代对象进行聚合压缩,然后生成一个元组形式的迭代器(zip类型)并且返回,实际上就是把一些不相关的东西聚合到一起,通过另一种形式输出(这也是压缩文件的运作过程)

 图解:(一般对于有序序列而已)

应用实例

1.有序序列结合

 有序序列是有下标位置的,所以结果过程就是下标相同的结合为一个元组

示例1:列表与元组结合

a=[1,2,3,4,5]
b=('a','b','c','d','e')
conbine=zip(a,b) #获取到可迭代压缩对象
print(list(conbine)) #通过列表类型转换输出
#输出结果:[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd'), (5, 'e')]

示例2:实现两个列表同时参与循环

a=[1,2,3,4,5]
b=['a','b','c','d','e']
conbine=zip(a,b)
for i,j in conbine: #通过循环输出可迭代对象print(i,j)
# 1 a
# 2 b
# 3 c
# 4 d
# 5 e

示例3:range() 参与

conbine=zip(range(5),[chr(x) for x in range(65,70)])
print(list(conbine))
#输出结果:[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D'), (4, 'E')]

示例4:多个有序序列结合

a=[i for i in range(5)]
b=['a','b','c','d','e']
c=('jack','dick','john','amy','tom')
con=zip(a,b,c)
print(list(con))
#[(0, 'a', 'jack'), (1, 'b', 'dick'), (2, 'c', 'john'), (3, 'd', 'amy'), (4, 'e', 'tom')]

2.无序序列结合

示例1:集合之间的结合

a={2,1,3,4,5}
c={'a','b','c','d','e'}
con=zip(a,c)
print(list(con))
#输出结果:[(1, 'd'), (2, 'e'), (3, 'b'), (4, 'c'), (5, 'a')]

集合是无序序列的,所以在结合的过程中是随机的,没有按照位置下标一一对应

示例2:构建字典

li=['jack','dick','john']
li1=[98,88,68]
di=dict(zip(li,li1))
print(di)
#输出结果:{'jack': 98, 'dick': 88, 'john': 68}

3.长度不统一的情况

zip() 函数是一种按照下标位置一对一结合再一期的,当如果出现长度不一样的结合序列的时候,当其中一个序列结合完成了之后就结束(也就是木桶效应),取决于最短的那个

 示例:

li=['jack','dick','john','amy']
a=tuple(x for x in range(10))
print(len(li),len(a)) #长度分别为:4 10
con=zip(li,a)
print(list(con))
#输出结果:[('jack', 0), ('dick', 1), ('john', 2), ('amy', 3)]

好了,这个函数就介绍了到这里就,是不是很简单呢?学会了快去实践一下吧!!

分享一张壁纸:

相关内容

热门资讯

如果你选择离开我,请记得有个傻... 如果你选择离开我,请记得有个傻瓜曾经爱过你,我把难过留给自己,不做恋人我也心存感激。挽留女朋友行么不...
求魔幻小说的名字 求魔幻小说的名字要求:魔幻,原创郭敬明的《幻城》《七色绯夏:魔法学院录》华胥引、三生三世十里桃花、花...
贝利亚变成邪恶奥特曼的片名叫什... 贝利亚变成邪恶奥特曼的片名叫什么贝利亚变成邪恶奥特曼的片名叫什么雷欧尼克斯宇宙雷欧尼斯、叫大怪兽大战...
有一片作文,名叫仙女下凡 有一片作文,名叫仙女下凡 在一觉醒来之后,外面飘着大雪,不一会就给大地盖上了一件棉被,调皮的仙女公主...
考后消费需要“理性答卷”   离高考成绩放榜已经过去一段时间,2025年高招进入了最为关键的志愿填报和录取阶段。随着好消息的陆...
魏牌暴涨247%!长城汽车最新... (转自:车联新生态)7月1日,长城汽车对外发布2025年6月以及1-6月产销快报。数据显示,6月长城...
聚焦斑马线治理:让“车让人”从... “过去过斑马线得小跑,现在车主动减速挥手,心里踏实多了!”近日,市民李女士在城西区黄河路的切身感受,...
适于儿童看的书有哪些 适于儿童看的书有哪些最好是5~6年纪看的!拜托!床边的小豆豆
守株待兔是一篇什么故事这个成语... 守株待兔是一篇什么故事这个成语的意思是什么? 守株待兔一般比喻死守经验,不知变通。亦用以讽刺妄想...
沈阳爱怡宝贝幼儿早教中心的课程... 沈阳爱怡宝贝幼儿早教中心的课程怎么样呢?沈阳爱怡宝贝幼儿早教中心很好的,我为宝~选择的就是,宝~在那...