gpt4 book ai didi

python - 如何将列表中的连续元素拆分为子列表

转载 作者:行者123 更新时间:2023-12-02 16:57:19 25 4
gpt4 key购买 nike

我有以下列表:

indices_to_remove: [0,1,2,3,..,600,800,801,802,....,1200,1600,1601,1602,...,1800]

我基本上有 3 个连续索引的子集:

  1. 0-600
  2. 800-1200
  3. 1600-1800

我想创建 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com