python列表间隔合并_Python使用zip合并相邻列表项的方法示例
本文实例讲述了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合并相邻列表项的方法示例相关推荐
- python切割图片文字_Python+opencv 实现图片文字的分割的方法示例
Python+opencv 实现图片文字的分割的方法示例 发布时间:2020-08-26 03:28:37 来源:脚本之家 阅读:116 作者:坏小孩90 实现步骤: 1.通过水平投影对图形进行水平分 ...
- python 设置全局代理_Python中使用socks5设置全局代理的方法示例
0x01介绍 PySocks使您可以通过SOCKS和HTTP代理服务器发送流量.它是SocksiPy的现代分支,具有错误修复和其他功能. 0x02 安装 λ pip3 install Pysocks ...
- python链表怎么定义_Python数据结构之双向链表的定义与使用方法示例
本文实例讲述了Python数据结构之双向链表的定义与使用方法.分享给大家供大家参考,具体如下: 和单链表类似,只不过是增加了一个指向前面一个元素的指针而已. 示意图: python 实现代码: #!/ ...
- python改为中文版_Python实现繁体中文与简体中文相互转换的方法示例
本文实例讲述了Python实现繁体中文与简体中文相互转换的方法.分享给大家供大家参考,具体如下: 工作中需要将繁体中文转换成简体中文 安装方法 不需要什么安装方法,只需要把这两个文件下载下来,保存到与 ...
- python绘制余弦曲线图_Python使用matplotlib绘制正弦和余弦曲线的方法示例
本文实例讲述了Python使用matplotlib绘制正弦和余弦曲线的方法.分享给大家供大家参考,具体如下: 一 介绍 关键词:绘图库 二 代码 import numpy as np import m ...
- python合并文件夹下的文件_Python实现合并同一个文件夹下所有txt文件的方法示例...
本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法.分享给大家供大家参考,具体如下: 一.需求分析 合并一个文件夹下所有txt文件 二.合并效果 三.python实现代码 # -*- ...
- python合并文件夹下的文件_Python实现合并同一个文件夹下所有PDF文件的方法示例...
本文实例讲述了Python实现合并同一个文件夹下所有PDF文件的方法.分享给大家供大家参考,具体如下: 一.需求说明 下载了网易云课堂的吴恩达免费的深度学习的pdf文档,但是每一节是一个pdf,我把这 ...
- python 二进制文件合并_python 读写和合并二进制bin文件,,在烧录程序的时候,需...
python 读写和合并二进制bin文件,,在烧录程序的时候,需 在烧录程序的时候,需要将多个二进制bin文件合成一个,并且要指定数据段地址偏移量,在数据段之间的地址填充默认值0xff.因为不想手动操 ...
- python学什么教学_python零基础教学之列表教学
列表定义 之前的文章里我们已经讲过了数字和字符串,它们是两种很基本的对象,今天要学的 list 也是一种对象,它在 Python 中具有非常强大的功能. 在 Python 中,列表用一对方括号 -- ...
最新文章
- 解决Jetty Maven Plugin:Please initialize the log4j system properly(转)
- SSO单点登录之——JWT
- Centos 7 安装NodeJS开发环境
- 新的信息论诞生前的若干问题分析
- 锁的释放流程-ReentrantLock.tryRelease
- 学习小技巧---javascript中获取服务器端控件生成的页面ID
- Latex中定理、引理、证明、假设、空白行
- jmeter连数据库
- mysql not in报错_mysql从5.7升级到8.0查询报错Expression #2 of SELECT list is not in GROUP BY...
- 清远职业技术学院php,清远职业技术学院2020招生录取分数线
- 设置行间距_word打印技巧:几个节省纸张的打印设置方法
- 计算机导航医学应用,【2016年】计算机导航在全膝关节置换中的应用技术及进展【临床医学论文】.doc...
- java 打包运行环境_Jar 打包 EXE文件,可以脱离java环境运行 Jsmooth的使用
- objenesis的基本使用方法
- linux中的文本处理方法集锦
- 历年系统架构师论文题目总结(2012-2018)
- Java获取微信用户昵称时昵称里有特殊符号导致插入数据库失败(解决方案)
- SysML精粹学习笔记一
- SkeyeVSS智能化旅游景区安防视频监控解决方案
- 高性能服务器架构 第四篇
热门文章
- 计算机网络期中考试题周静,期中考试优秀作文
- Java黑皮书课后题第5章:**5.28(显示每月第一天是周几)编写程序,提示用户输入年份和代表概念第一天是周几的数字,然后在控制台显示该年各个月份的第一天是周几
- C语言学习之1到5的乘积1到N的乘积
- python 字节和字符串区别,Python中字节串和字符串,不是一个概念没有区别之分...
- 2013届华为校园招聘机试题
- JAVA 求数组中的最大值
- VS2013+qt-vs-addin-1.2.4安装配置
- jquery中$(document).ready(function(){//todo});window.onload时间线关系
- SQL Server Reporting Services(简称SSRS)
- (转)Linux环境变量的设置和查看方法