使用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函數來實現并行遍歷的效果。