zip() 函数可以把两个列表“压缩”成一个 zip 对象(可迭代对象),这样就可以使用一个循环并行遍历两个列表。为了测试 zip() 函数的功能,我们可以先在交互式解释器中“试验”一下该函数的功能。
成都创新互联公司专业提供成都主机托管四川主机托管成都服务器托管四川服务器托管,支持按月付款!我们的承诺:贵族品质、平民价格,机房位于中国电信/网通/移动机房,服务器机柜租用服务有保障!
>>> a = ['a','b','c'] >>> b = [1, 2, 3] >>> [x for x in zip(a,b)] [('a', 1), ('b', 2), ('c', 3)]
从上面的测试结果来看,zip() 函数压缩得到的可迭代对象所包含的元素是由原列表元素组成的元组。
Pthon 2.x 的 zip() 函数直接返回列表,而不是返回 zip 对象。Python 2.x 的 zip() 函数返回的列表所包含的元素和 Python 3.x 的 zip() 返回的 zip 对象所包含的元素相同。
例如:
>>> c = [0.1 ,0.2] >>> [x for x in zip(a,c)] [('a', 0.1), ('b', 0.2)]
从上面代码可以看出,如果 zip() 函数压缩的两个列表长度不相等,那么 zip() 函数将以长度更短的列表为准。
zip() 函数不仅可以压缩两个列表,也可以压缩多个列表。比如下面试验同时压缩 3 个列表:
>>> [x for x in zip(a, b, c)] [('a', 1, 0.1), ('b', 2, 0.2)]
从上面代码可以看出,如果使用 zip() 函数压缩 N 个列表,那么 zip() 函数返回的可迭代对象的元素就是长度为 N 的元组。
下面代码示范了使用 zip() 函数来实现并行遍历的效果:
books = ['疯狂Kotlin讲义', '疯狂Swift讲义', '疯狂Python讲义'] prices = [79, 69, 89] # 使用zip()函数压缩两个列表,从而实现并行遍历 for book, price in zip(books, prices): print("%s的价格是: %5.2f" % (book, price))
文章标题:创新互联Python教程:Pythonzip函数及用法
网页链接:http://www.shufengxianlan.com/qtweb/news32/260632.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联