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)]

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

分享一张壁纸:

相关内容

热门资讯

东方电子跌2.04%,成交额7... 5月14日,东方电子盘中下跌2.04%,截至11:00,报9.59元/股,成交7109.97万元,换...
龙利得涨2.30%,成交额24... 5月14日,龙利得盘中上涨2.30%,截至10:59,报5.79元/股,成交2494.39万元,换手...
国台办回应民进党当局加紧采购爱... 转自:财联社【国台办回应民进党当局加紧采购爱国者导弹】财联社5月14日电,国台办举行例行新闻发布会。...
格林精密跌2.04%,成交额5... 5月14日,格林精密盘中下跌2.04%,截至11:00,报14.92元/股,成交5458.96万元,...
晶华微跌2.06%,成交额17... 5月14日,晶华微(维权)盘中下跌2.06%,截至10:50,报25.66元/股,成交1777.62...
必得科技跌2.05%,成交额1... 5月14日,必得科技盘中下跌2.05%,截至10:56,报12.90元/股,成交1339.76万元,...
立方制药涨2.02%,成交额9... 5月14日,立方制药盘中上涨2.02%,截至10:57,报23.77元/股,成交9439.78万元,...
兰州市城关区首次开展公共服务政... 城关区首次开展公共服务政策健康影响评估  5月13日,兰州市城关区召开公共服务政策健康影响评估会议暨...
哪吒汽车关联公司超10亿人民币...   5月14日上午消息,天眼风险信息显示,哪吒汽车关联公司合众新能源汽车股份有限公司有10亿人民币、...
瀚川智能跌2.05%,成交额1... 5月14日,瀚川智能盘中下跌2.05%,截至10:51,报13.88元/股,成交1667.10万元,...
2024年上海宝山绿色低碳产业... 5月14日,界面新闻从上海宝山获悉,2024年宝山区绿色低碳产业规模已达1003.69亿元,首次突破...
美股三大指数涨跌不一 标普50... 来源:环球网 【环球网财经综合报道】当地时间周二,美股市场呈现分化走势,三大指数收盘涨跌互现。其中,...
瑞凌股份跌2.05%,成交额2... 5月14日,瑞凌股份盘中下跌2.05%,截至10:58,报10.03元/股,成交2729.60万元,...
研究称中国痴呆人数激增 【#研究称中国痴呆人数激增#】最近,上海复旦大学的一项研究显示,过去30年间,中国痴呆患者数量从19...
青少年阅读,筑就生命基石——来... 青少年红色阅读接力活动。 主办方供图当人工智能(AI)的浪潮扑面而来,全民阅读迎来变革之年,如何让阅...
技能之星丨赵慧仪:破茧成蝶的舞... 转自:邯郸网络广播电视台2025年河北省职业院校技能大赛舞蹈表演(中职组)现场,邯郸科实中等专业学校...
【研报推荐】华润微:25Q1盈... 转自:新华财经华润微季报点评_25Q1盈利同比高增,汽车和AI应用持续带来需求增量.pdf
费高云卸任安徽副省长,此前已任... 转自:长安街知事据安徽日报消息,5月14日上午,安徽省十四届人大常委会第十六次会议通过人事任免案,决...
电子烟概念股集体上扬 华宝国际... .ct_hqimg {margin: 10px 0;} .hqimg_wrapper {text-a...
中自科技跌2.03%,成交额4... 5月14日,中自科技盘中下跌2.03%,截至10:51,报22.64元/股,成交4916.13万元,...