Python - 将iterable拆分成等长的数据块
2024-09-06 09:05:45
说明
看文档发现一个有趣的应用(利用zip函数)
例如[1, 2, 3, 4] --> [(1, 2), (3, 4)],拆分成长度为2的数据块
Code
>>> a = [1,2,3,4]
>>> length = 2
>>> chunks_len_2 = zip(*[iter(a)] * length)
>>> result = list(chunks_len_2)
>>> result
[(1, 2), (3, 4)]
原理: zip(*iterables)
https://docs.python.org/3/library/functions.html#zip
def zip(*iterables):
# zip('ABCD', 'xy') --> Ax By
sentinel = object()
iterators = [iter(it) for it in iterables]
while iterators:
result = []
for it in iterators:
elem = next(it, sentinel)
if elem is sentinel:
return
result.append(elem)
yield tuple(result)
最新文章
- rpm 看 rpm 包内容
- python文件读写操作与linux shell变量命令交互执行
- hdu 3449 有依赖性的01背包
- Charles初体验
- 用对 gitignore
- typedef的用法
- SQL Server 2008中新增的 1.变更数据捕获(CDC) 和 2.更改跟踪
- 胸腺嘧啶“T”
- C#三种判断数据库中取出的字段值是否为空(NULL) 的方法
- 排序算法 Java实现版
- web页面相关的一些常见可用字符介绍
- 用document.onreadystatechange和document.readyState确保文档加载完毕才获取DOM
- C# 7 函数 青歌赛打分 天气预报
- 高德地图API
- Java学习之路:ArrayList用法
- mpich2 下运行时出现“由于目标计算机积极拒绝,无法连接”的错误
- team talk 主要框架
- atoi()函数(转载)
- 201772020113 李清华《面向对象程序设计(java)》第16周学习总结
- JAVA中将byte[]数组转成16进制字符串
热门文章
- html css二级导航栏
- Docker 镜像仓库为什么要分库分权限?
- splice删除元素后返回的是一个数组
- mybatis第一天02
- Codeforces Round #619 (Div. 2) A~D题解
- centos yum 安装openresty
- 2.4测试赛AC代码临时保存
- 2019牛客多校第五场C generator 2 hash,bsgs模板
- web前端常用库
- Oracle 12.2.0.1 Installation Fails With ";PRVG-0449";