栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python系列教程154——zip函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python系列教程154——zip函数

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

我们前面学习了内置函数range,它允许我们在for循环中以非完备的方式遍历序列。内置的zip函数则可以让我们使用for循环来并行使用多个序列。例如,假设我们使用两个列表:

>>> L1 = [1,2,3,4]

>>> L2 = [5,6,7,8]

要合并这些列表中的元素,我们可以使用zip来创建一个元组对的列表(和range一样,zip在Python 3.0中也是一个可迭代对象,因此,我们必须将其包含在一个list调用中以便一次性显示所有结果):

>>> zip(L1,L2)



>>> list(zip(L1,L2))       # list() required in 3.0,not 2.6

[(1,5),(2,6),(3,7),(4,8)]

搭配for循环时,它就会支持并行迭代。

>>> for (x,y) in zip(L1,L2):

...     print(x,y,'--',x+y)

...

1 5 -- 6

2 6 -- 8

3 7 -- 10

4 8 -- 12

zip可以接受任何类型的序列(其实就是任何可迭代的对象,包括文件),并且可以有两个以上的参数。

>>> T1,T2,T3 = (1,2,3),(4,5,6),(7,8,9)

>>> T3

(7,8,9)

>>> list(zip(T1,T2,T3))

[(1,4,7),(2,5,8),(3,6,9)]

当参数长度不同时,zip会以最短序列的长度为准来截断所得到的元组 。在下面的例子中,我们把两个字符串zip到一起以并行地选取字符,但是结果所拥有的元组数只和最短的序列的长度一致:

>>> S1 = 'abc'

>>> S2 = 'xyz123'

>>>

>>> list(zip(S1,S2))

[('a','x'),('b','y'),('c','z')]
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/744223.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号