Python中zip()函数有什么用

Python中zip()函数有什么用?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

创新互联主打移动网站、网站建设、做网站、网站改版、网络推广、网站维护、域名注册、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。

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中zip()函数有什么用大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道。


本文题目:Python中zip()函数有什么用
文章地址:http://ybzwz.com/article/igijos.html