本文实例讲述了Python使用zip合并相邻列表项的方法。分享给大家供大家参考,具体如下:

1》使用zip()函数和iter()函数,来合并相邻的列表项

>>> x

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> zip(*[iter(x)]*2)

[(1, 2), (3, 4), (5, 6), (7, 8)]

>>> zip(*[iter(x)]*3)

[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

>>> zip(*[iter(x)]*4)

[(1, 2, 3, 4), (5, 6, 7, 8)]

之所以会出现上述结果,是因为:

>>> [iter(x)]*3

[, , ]

可以看到,列表中的3个迭代器实际上是同一个迭代器!!!

2》   在1》的基础上,封装成一个函数,如下:

>>> x

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> group_adjacent = lambda a, k: zip(*([iter(a)] * k))

>>> group_adjacent(x,3)

[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

>>> group_adjacent(x,2)

[(1, 2), (3, 4), (5, 6), (7, 8)]

>>> group_adjacent(x,1)

[(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)]

3》使用zip()函数和切片操作,来合并相邻的表项

>>> x

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> zip(x[::2],x[1::2])

[(1, 2), (3, 4), (5, 6), (7, 8)]

>>> zip(x[0::2],x[1::2])

[(1, 2), (3, 4), (5, 6), (7, 8)]

>>> zip(x[0::3],x[1::3],x[2::3])

[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

>>> zip(x[::3],x[1::3],x[2::3])

[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

4》  在3》的基础上,封装成函数,如下:

>>> x

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> group_adjacent = lambda a, k: zip(*[a[i::k] for i in range(k)])

>>> group_adjacent(x,3)

[(1, 2, 3), (4, 5, 6), (7, 8, 9)]

>>> group_adjacent(x,2)

[(1, 2), (3, 4), (5, 6), (7, 8)]

>>> group_adjacent(x,1)

[(1,), (2,), (3,), (4,), (5,), (6,), (7,), (8,), (9,)]

参考文章:

希望本文所述对大家Python程序设计有所帮助。

python列表间隔合并_Python使用zip合并相邻列表项的方法示例相关推荐

  1. python切割图片文字_Python+opencv 实现图片文字的分割的方法示例

    Python+opencv 实现图片文字的分割的方法示例 发布时间:2020-08-26 03:28:37 来源:脚本之家 阅读:116 作者:坏小孩90 实现步骤: 1.通过水平投影对图形进行水平分 ...

  2. python 设置全局代理_Python中使用socks5设置全局代理的方法示例

    0x01介绍 PySocks使您可以通过SOCKS和HTTP代理服务器发送流量.它是SocksiPy的现代分支,具有错误修复和其他功能. 0x02 安装 λ pip3 install Pysocks ...

  3. python链表怎么定义_Python数据结构之双向链表的定义与使用方法示例

    本文实例讲述了Python数据结构之双向链表的定义与使用方法.分享给大家供大家参考,具体如下: 和单链表类似,只不过是增加了一个指向前面一个元素的指针而已. 示意图: python 实现代码: #!/ ...

  4. python改为中文版_Python实现繁体中文与简体中文相互转换的方法示例

    本文实例讲述了Python实现繁体中文与简体中文相互转换的方法.分享给大家供大家参考,具体如下: 工作中需要将繁体中文转换成简体中文 安装方法 不需要什么安装方法,只需要把这两个文件下载下来,保存到与 ...

  5. python绘制余弦曲线图_Python使用matplotlib绘制正弦和余弦曲线的方法示例

    本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法.分享给大家供大家参考,具体如下: 一 介绍 关键词:绘图库 二 代码 import numpy as np import m ...

  6. python合并文件夹下的文件_Python实现合并同一个文件夹下所有txt文件的方法示例...

    本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法.分享给大家供大家参考,具体如下: 一.需求分析 合并一个文件夹下所有txt文件 二.合并效果 三.python实现代码 # -*- ...

  7. python合并文件夹下的文件_Python实现合并同一个文件夹下所有PDF文件的方法示例...

    本文实例讲述了Python实现合并同一个文件夹下所有PDF文件的方法.分享给大家供大家参考,具体如下: 一.需求说明 下载了网易云课堂的吴恩达免费的深度学习的pdf文档,但是每一节是一个pdf,我把这 ...

  8. python 二进制文件合并_python 读写和合并二进制bin文件,,在烧录程序的时候,需...

    python 读写和合并二进制bin文件,,在烧录程序的时候,需 在烧录程序的时候,需要将多个二进制bin文件合成一个,并且要指定数据段地址偏移量,在数据段之间的地址填充默认值0xff.因为不想手动操 ...

  9. python学什么教学_python零基础教学之列表教学

    列表定义 之前的文章里我们已经讲过了数字和字符串,它们是两种很基本的对象,今天要学的 list 也是一种对象,它在 Python 中具有非常强大的功能. 在 Python 中,列表用一对方括号 -- ...

最新文章

  1. 解决Jetty Maven Plugin:Please initialize the log4j system properly(转)
  2. SSO单点登录之——JWT
  3. Centos 7 安装NodeJS开发环境
  4. 新的信息论诞生前的若干问题分析
  5. 锁的释放流程-ReentrantLock.tryRelease
  6. 学习小技巧---javascript中获取服务器端控件生成的页面ID
  7. Latex中定理、引理、证明、假设、空白行
  8. jmeter连数据库
  9. mysql not in报错_mysql从5.7升级到8.0查询报错Expression #2 of SELECT list is not in GROUP BY...
  10. 清远职业技术学院php,清远职业技术学院2020招生录取分数线
  11. 设置行间距_word打印技巧:几个节省纸张的打印设置方法
  12. 计算机导航医学应用,【2016年】计算机导航在全膝关节置换中的应用技术及进展【临床医学论文】.doc...
  13. java 打包运行环境_Jar 打包 EXE文件,可以脱离java环境运行 Jsmooth的使用
  14. objenesis的基本使用方法
  15. linux中的文本处理方法集锦
  16. 历年系统架构师论文题目总结(2012-2018)
  17. Java获取微信用户昵称时昵称里有特殊符号导致插入数据库失败(解决方案)
  18. SysML精粹学习笔记一
  19. SkeyeVSS智能化旅游景区安防视频监控解决方案
  20. 高性能服务器架构 第四篇

热门文章

  1. 计算机网络期中考试题周静,期中考试优秀作文
  2. Java黑皮书课后题第5章:**5.28(显示每月第一天是周几)编写程序,提示用户输入年份和代表概念第一天是周几的数字,然后在控制台显示该年各个月份的第一天是周几
  3. C语言学习之1到5的乘积1到N的乘积
  4. python 字节和字符串区别,Python中字节串和字符串,不是一个概念没有区别之分...
  5. 2013届华为校园招聘机试题
  6. JAVA 求数组中的最大值
  7. VS2013+qt-vs-addin-1.2.4安装配置
  8. jquery中$(document).ready(function(){//todo});window.onload时间线关系
  9. SQL Server Reporting Services(简称SSRS)
  10. (转)Linux环境变量的设置和查看方法