python - 根据用户定义的规则拆分数组
问题描述
我是 Python 新手,我在如何根据用户定义的规则拆分数组方面非常挣扎。假设我有一个包含元素的数组:
A=[0,1,2,6,7,8,9,14,15,16]
我想用python把上面的数组分成几组。所以如果当前元素和下一个元素之间的间隔小于2,那么它们属于一个组,否则属于不同的组。
所以基本上我希望我的新数组看起来像这样:
B = [[0,1,2] [6,7,8,9] [14,15,16]]
我正在考虑使用 for 循环并循环遍历数组 A,但不太确定该怎么做......
解决方案
一个基本的 for 循环工作
a=[0,1,2,6,7,8,9,14,15,16]
g = []
tmp = []
for i in range(len(a)):
tmp.append(a[i])
if i==len(a)-1 or a[i+1] - a[i] >= 2:
g.append(tmp)
tmp = []
print(g)
输出
[[0, 1, 2], [6, 7, 8, 9], [14, 15, 16]]
推荐阅读
- kubernetes - 为什么我的情况下 istio 的混音器日志的工作方式不同?
- opencv - 在 Raspberry Pi 中使用 OpenCv 设置 WebCamera 焦点
- r - 如何对新数据使用预测?
- c - 如何在 linux 中将 .h 包含在 makefile 中?
- c - 测试整数是否可以表示为位有符号整数
- r - 如何在R中将xlsx文件列表转换并导出为csv文件
- javascript - 尝试上网时不显示索引内容
- django - 尝试向主 urls.py 文件的 urlpatterns 添加新路径后找不到页面?(Mosh Python 教程)
- python - 如何将文本框与matplotlib中的图例框对齐?
- c++ - 检查一个向量是否包含另一个向量的子字符串