itertools.zip_longest

itertools模块包含创建高效迭代器的函数,这些函数的返回值不是list,而是iterator(可迭代对象),可以用各种方式对数据执行循环操作.

zip_longest(it_obj1, …, it_objN, fillvalue=None)时,其函数实现的功能和内置zip函数大致相同(实现一一对应),不过内置的zip函数是已元素最少对象为基准,而zip_longest函数是已元素最多对象为基准,使用fillvalue的值来填充

思路大致如此: 找出元素个数最多 >算出元素个数差值>填充差值个元素到各个对象

def zip_longest(*it, **kwargs):its = {k: len(k) for k in it}   # 这里我是用字典把参数对象和参数的元素个数结果作为一个字典max_num = max(its.values())    # 确定迭代对象元素最大值 result = []            # fillvalue = kwargs.get('fillvalue', None) # 元素较少的填充值for x in range(max_num):     # 已最大次为基准循环result = []for it in its:        # 循环所有迭代对象,以便进行填充数据element = list(it)    # 将if len(it) < max_num:   # 如果迭代对象的元素个数比最大值小,则要填充数据for i in range(max_num - len(it)): # 此为要填充数据的个数element.append(fillvalue)    # 填充操作,完成后所有的迭代对象的元素个数都为一致    result.append(element[x])        # 生成一一对应结果,存放到list中yield tuple(result)             # 将结果输出

测试

res = zip_longest('abc', '12')
for x in res:print(x)

结果
(‘a’, ‘1’)
(‘b’, ‘2’)
(‘c’, None)
参考链接:https://www.jb51.net/article/141848.htm

python中itertools模块zip_longest函数详解相关推荐

  1. python平方数迭代器_对python中的高效迭代器函数详解

    python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...

  2. Python中random模块生成随机数详解

    Python中random模块生成随机数详解 本文给大家汇总了一下在Python中random模块中最常用的生成随机数的方法,有需要的小伙伴可以参考下 Python中的random模块用于生成随机数. ...

  3. python中plt定义,对Python中plt的画图函数详解

    1.plt.legend plt.legend(loc=0)#显示图例的位置,自适应方式 说明: 'best' : 0, (only implemented for axes legends)(自适应 ...

  4. python中selenium模块驱动谷歌详解

    python中selenium模块驱动谷歌详解 Selenium的介绍.配置和调用 Selenium(浏览器自动化测试框架) 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中 ...

  5. python中xlrd模块的使用详解

    python中xlrd模块的使用详解 两个问题: 什么是xlrd模块? 为什么使用xlrd模块? 1.什么是xlrd模块? python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读 ...

  6. python中文件读写--open函数详解

    python中open函数详解 在python中文件的读取分为三步走: 读:打开文件 -> 读文件 -> 关闭文件 (有点像把大象放进冰箱需要几步?的问题) 1.open函数 open函数 ...

  7. python中内置数学函数详解和实例应用之三角函数_初级阶段(二)

    学习目标: 利用python进行三角函数运算 学习内容: python中的三角函数合集和应用实例 转载请注明出处! 学习产出: 环境:python 3.7, 利用shell进行实例操作. Note: ...

  8. python中re模块的span,详解Python正则表达式re模块

    正则是处理字符串最常用的方法,我们编码中到处可见正则的身影. 正则大同小异,python 中的正则跟其他语言相比略有差异: 1.替换字符串时,替换的字符串可以是一个函数 2.split 函数可以指定分 ...

  9. [转载] Python 中reduce()与lambda函数详解

    参考链接: Python中的reduce a = [2,22,222] Sn = reduce(lambda x,y:x+y,a) print "计算和为:",Sn reduce( ...

  10. python中input()函数详解

    1.input()函数赋值后数据在python内部的类型. if __name__=="__main__":a=input()print(type(a))b=input()prin ...

最新文章

  1. Spring boot 梳理 - 在bean中使用命令行参数-自动装配ApplicationArguments
  2. 浮点数精度问题透析:小数计算不准确+浮点数精度丢失根源
  3. linux 无线网卡 延时 丢包 模拟,Linux模拟网络丢包与延迟的方法
  4. 控制uibutton的title范围
  5. 【送给读者】全新苹果 AirPods,包邮送一套!
  6. 泣血推荐丨学编程开始前就该知道的工具集,提升五倍学习效率
  7. OkHttp+Stetho+Chrome调试android网络部分(原创)
  8. JavaScript之常见算法排序
  9. adb脚本选择语句_Python开发:王者荣耀自动刷金币脚本
  10. 内存一致性模型(Memory Consistency Models)
  11. 推荐几个不错的苹果电脑截图工具
  12. access 更新整列数据_Access如何用sql更新表格数据
  13. Dorado7使用常见问题,不定时持续更新。
  14. 启动 AXD 配置开发板
  15. SiamRPN++理解
  16. 代理http,代理https,代理sk5,的正向代理和反向代理
  17. 第五章 社会存在发展的基础和基本结构
  18. java画好看坦克_java绘图,画坦克
  19. [米家]窗帘电机【立创开源】
  20. java apex_Apex基础知识(一)

热门文章

  1. 2329: 小新同学爱加密
  2. Pythonic的Python向量夹角余弦值计算
  3. dependency
  4. B样条曲线的公式推导及代码实现
  5. 主仆渡河问题 ----python
  6. vs2017 c#代码生成期间遇到了错误,值不在预期的范围内
  7. 可正常访问的 高校2.5D 地图
  8. python自定义标识符的使用区分大小写吗_Python中的标识符是不区分大小写的
  9. 发展你的GDS的应用技术
  10. 交换友情链接要怎么做才能完美