Python——zip函数扩展

不同python版本间zip函数的差别

在python2中的zip是一个函数,返回一个元组。而python3中zip是一个元类,返回的是一个zip对象并且它是一个迭代器。
Python——zip函数扩展
python2
Python——zip函数扩展
python3
Python——zip函数扩展

zip函数主要是将多个队列中的元素依次组合成元组,返回元组的个数有最短的队列决定,其他队列多余元素自动舍弃
对于数量庞大的队列来说,因为python2中zip是直接返回元组的,所以对内存的消耗也是巨大的,可以使用 from itertools import izip 来达到迭代器的效果


如果有些特别需求,内建的zip无法完成的话。可以使用 itertools 模块中的zip扩展模块实现

python2 - izip_longest || python3 - zip_longest

Python——zip函数扩展
简单来说就是zip的升级版,不同的是它以长的队列为准,短队列中缺失元素默认用None补齐。可以用fillvalue参数指定补全元素。