使用zip()函数可以把两个列表“压缩”成一个zip对象(可迭代对象),这样就可以使用一个循环并行遍历两个列表。为了测试 zip()函数的功能,我们可以先在交互式解释器中“试验”一下该函数的功能。
# !/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2024/01# @Author : Laopia = ['a','b','c']b = [1,2,3]print([x for x in zip(a,b)])[('a', 1), ('b', 2), ('c', 3)]
从上面的测试结果来看,zip()函数压缩得到的可迭代对象所包含的元素是由原列表元素组成的元组。
c = ['测试划水老师傅','测试老痞']print([x for x in zip(a,c)])[('a', '测试划水老师傅'), ('b', '测试老痞')]
从上面代码可以看出,如果 zip()函数压缩的两个列表长度不相等,那么 zip()函数将以长度更
短的列表为准。
zip()函数不仅可以压缩两个列表,也可以压缩多个列表。比如下面试验同时压缩3个列表
print([x for x in zip(a,b,c)])
从上面代码可以看出,如果使用 zip0函数压缩N个列表,那么zip函数返回的可选代对象的元素就是长度为N的元组。
下面代码示范了使用zip0函数来实现并行遍历的效果。