知行编程网知行编程网  2022-09-25 14:30 知行编程网 隐藏边栏  1 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python的zip()函数是什么的相关知识,包括len()函数,以及enumerate函数这些编程知识,希望对大家有参考作用。

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

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享