函数

  • zip_longest

zip_longest

(转自itertools模块的zip_longest对于嵌套list的使用)
文章中在变换句子矩阵的时候使用了itertools模块的zip_longest函数。使用方法如下:

batch = list(itertools.zip_longest(batch,fillvalue=PAD))
# fillvalue就是要填充的值,强制转成list

这个函数一般的使用方法为:

res = zip_longest('abc', '12')
for x in res:print(x)#('a', '1')
#('b', '2')
#('c', None)

但是batch是一个嵌套list,如果按照上面的用法,列为:

res = zip_longest(batch[0],batch[1],batch[2]...)

不合理,因为不知道batch的长度,而且这样遍历有点不方便。网上找不到合适的解决方案,于是我开始尝试,利用了指针的思想,真的试出来了!答案就是在batch前面加一个 * ,如下:

res = zip_longest(*batch)

zip_longest相关推荐

  1. Python zip函数详解+和izip和zip_longest的比较辨析

    目录 1. zip()函数 1.1 zip()函数的用法 1.2 zip()函数的应用 1.3 *zip()的用法 2. itertools.izip() 3. itertools.zip_longe ...

  2. python zip_longest和zip的比较

    1.zip返回的结果以最短的序列为准,zip_longest以最长的序列为准. 2.如果zip_logest遇到长度不一致的序列,缺少部分会填充None. 实例 from itertools impo ...

  3. Pyhton 内置 itertools 模块chain、accumulate、compress、drop、take等函数使用

    Python 内置的 itertools 模块使用了 yield 生成器. 1. chain 拼接迭代器 chain 函数实现元素拼接,原型如下,参数 * 表示可变的参数: chain(*iterab ...

  4. Python编写循环的两个建议 | 鹅厂实战

    作者 | piglei(腾讯高级工程师) 转载自腾讯技术工程知乎专栏 循环是一种常用的程序控制结构.我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人却不行.而" ...

  5. 简简单单用OpenCV让一只小猫咪变成奶凶奶凶的科技猫

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自 | AI算法与图像处理 导读 Hi,大家好,今天给各位读者 ...

  6. 为什么说 Python 内置函数并不是万能的?

    我们对比了两种创建列表的方法,即字面量用法 与内置类型用法 list,进而分析出它们在运行速度上的差异. 在分析为什么 list 会更慢的时候,文中说到它需要经过名称查找与函数调用两个步骤,那么,这就 ...

  7. 一个 零差评的 Python 内置库

    前言 最近事情不是很多,想写一些技术文章分享给大家,同时也对自己一段时间来碎片化接受的知识进行一下梳理,所谓写清楚才能说清楚,说清楚才能想清楚,就是这个道理了. 很多人都致力于把Python代码写得更 ...

  8. python自带intertool模块找不到_Python itertools模块:生成迭代器(示例分析)

    1 itertools 模块中主要包含了一些用于生成迭代器的函数.在 Python 的交互式解释器中先导入 itertools 模块,然后输入 e for e in dir(itertools) if ...

  9. 玩转Python!一文详述Python 的高性能使用技巧

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 作者:张皓 知乎链接:https://zhuanlan.zhihu.com/p/4 ...

  10. Effective Python 小笔记之 zip 函数

    环境:Python 3.5.1 CentOS 7 zip函数可以同时遍历两个迭代器. 在编写Python代码时,通常要面对很多列表,而这些列表中的对象,可能是相互关联的.如下例: names = [' ...

最新文章

  1. Android.mk 用法介绍
  2. poj 2728 Desert King(最小比率生成树 / 0-1分数规划 / 二分)
  3. 1990: 分解质因数
  4. oracle阻塞查询,oracle 查询阻塞的sql语句
  5. 基于插件化的企业级开发平台JXADF(开源)
  6. 段错误产生原因及简单的调试方法
  7. 使用管道符组合使用命令_如何使用管道的魔力
  8. python小球弹弹弹_python实现弹跳小球
  9. 离线环境安装dotnet framework nuget包
  10. Fiddler抓包工具 学习笔记
  11. 负载均衡算法详解与实践
  12. python3.5.4安装_linux-centos系统下安装python3.5.4步骤
  13. 电力系统学习-电力系统及电力模型
  14. 考华为云认证的注意事项、认证费用
  15. 如何政治正确地黑咪蒙?!
  16. tpshop php版本,TPshop安装向导 - Powered by TPshop
  17. 当地特色旅游系统 计算机毕业设计 微信小程序开发
  18. send/sendto和recv/recvfrom各自的区别
  19. Intel 8086处理器
  20. 一位博士论文的致谢部分

热门文章

  1. DevOps - (1)Terraform+阿里云实现云资源的CI/CD
  2. sql数据库 ‘xxxxxx‘ 已存在,请选择其他数据库名称
  3. 什么是重载?重载的作用?
  4. 双光耦开关电源电路图_开关电源中的光耦经典电路设计分析
  5. HTML frameset 标签 cols 属性
  6. 【HEC-RAS】02 软件下载及安装
  7. android Error obtaining UI hierarchy
  8. Vue 组件之间传值
  9. 【R语言】创建空的dataframe
  10. RTI路由服务入门手册