Python——zip函数扩展

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37049781/article/details/85678289

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

在python2中的zip是一个函数,返回一个元组。而python3中zip是一个元类,返回的是一个zip对象并且它是一个迭代器。
在这里插入图片描述
python2
在这里插入图片描述
python3
在这里插入图片描述

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


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

python2 - izip_longest || python3 - zip_longest

在这里插入图片描述
简单来说就是zip的升级版,不同的是它以长的队列为准,短队列中缺失元素默认用None补齐。可以用fillvalue参数指定补全元素。

猜你喜欢

转载自blog.csdn.net/qq_37049781/article/details/85678289
今日推荐