python - Python 组列表到子列表的列表是单调的,元素之间的差异相等
问题描述
l = [2,4,6,12,14,16,21,27,29,31]
我想将它拆分为列表,这样每个列表的元素都是一个单调列表,元素之间的差异为 2:
new_l = [[2,4,6], [12,14,16],[21], [27,29,31]]
最有效的方法是什么?
解决方案
您可以确定要拆分的索引,然后np.split
像这样应用:
np.split(l, np.flatnonzero(np.diff(l)!=2) + 1)
输出:
[array([2, 4, 6]), array([12, 14, 16]), array([21]), array([27, 29, 31])]
然而,使用不同长度的数组从来都不是有效的,所以这就是为什么np.split
速度很慢。
推荐阅读
- c# - 运行 api 的自动化测试时出现错误的请求错误
- java - 使用 Spring Kafka 自定义转换 Apache Kafka 标头
- android - 使用 YouTube 作为托管平台来嵌入具有下载功能的视频?
- python - 将 Linkedin 学习视频源导出为 .txt 文件
- adsense - 在我的公开直播网站上设置 Google Adsense
- youtube-api - 每 100 秒的 youtube 配额限制
- javascript - 如何将样式属性删除到段落内的其他标签并仅保留一个样式
- spring-boot - Springboot 验证在 Kotlin 中不起作用
- python - 如何在 python 中从一组具有序列化命名的变量创建列表
- python - 在任何地方运行 python 脚本