作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下列表:
indices_to_remove: [0,1,2,3,..,600,800,801,802,....,1200,1600,1601,1602,...,1800]
我基本上有 3 个连续索引的子集:
我想创建 3 个不同的小列表,其中只包含连续的数字。
预期结果:
indices_to_remove_1 : [0,1,2,3,....,600]
indices_to_remove_2 : [800,801,802,....,1200]
indices_to_remove_3 : [1600,1601,1602,....., 1800]
P.S:数字是任意的,随机的;此外,我可能会遇到超过 3 个或更少的子集。
最佳答案
另一种方法是使用 more_itertools.consecutive_groups
: (以@Stephen 的列表为例):
import more_itertools as mit
for group in mit.consecutive_groups(indices_to_remove):
print(list(group))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90]
[160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170]
关于python - 如何将列表中的连续元素拆分为子列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55914382/
我是一名优秀的程序员,十分优秀!